24秋学期(高起本:1709-2103、专升本/高起专:2003-2103)《并行程序设计》在线作业-00001
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.起泡排序改为奇偶转置排序,消除了循环步间的数据依赖的原因是____。
A.增大了元素比较距离
B.减小了元素比较距离
C.改为元素两两分组比较
D.消除了元素比较
2.伸缩性的含义不包括____。
A.硬件能升级扩展
B.扩大系统规模构造成本增长不快
C.程序在新硬件下仍能高效运行
D.程序在更大规模系统下仍能高效运行
3.下列子句中____不是OpenMP的同步指令。
A.nowait
B.critical
C.atomic
D.barrier
4.n个数求和的串行程序,通过一个循环将每个数累加到全局变量sum中,其多线程版本简单将循环范围改变为每个线程负载的范围,存在的问题是____。
A.负载不均
B.通信开销大
C.CPU空闲等待严重
D.sum累加产生竞争条件,导致结果错误
5.CUDA共享内存是由____共享。
A.Grid中所有线程
B.一个Block中所有线程
C.一个Warp中所有线程
D.GPU中所有线程
6.互斥量mutex机制,在任何时刻____进入它保护的区域。
A.允许任意数量任意类型的线程
B.允许一个读线程任意个写线程
C.允许一个写线程任意个读线程
D.只允许一个线程
7.当问题规模不变时,随着处理器数量增大,效率降低的性质对____成立。
A.部分并行算法
B.代价最优并行算法
C.所有并行算法
D.以上皆错
8.对奇偶转置排序进行OpenMP并行化,第一种策略是直接对内层循环使用omp parallel for指令,第二种策略是对外层循环使用omp parallel指令,对内层循环使用omp for指令,后者相对于前者的优点是____。
A.保持了数据依赖
B.消除了大量线程创建、销毁开销
C.有利于负载均衡
D.减少了线程间交互
9.加速比计算中串行时间应该取求解同一问题的哪个串行算法的时间____。
A.任意一个串行算法
B.作为并行算法基础的那个串行算法
C.已知最优的串行算法
D.所有串行算法的平均时间
10.OpenMP的缺点不包括____。
A.常见并行结构的表达并不总可行
B.局部性处理不易
C.不易编写多核单核通用程序
D.性能控制不易
11.16步循环,4个线程,循环0-3、4-7、8-11、12-15分别分配给线程0、1、2、3,这是OpenMP的____划分策略。
A.static
B.fixed
C.dynamic
D.guided
12.天河1A和天河2号都是主要依靠____获得强大的计算能力。
A.单核CPU
B.多核CPU
C.众核CPU
D.众核协处理器
13.主线程创建了4个线程,它们打印各自的线程号(0-3),未使用任何同步,则输出顺序____。
A.必然是0 1 2 3
B.必然是4 3 2 1
C.不可能是4 3 2 1
D.以上皆错
14.对矩阵乘法串行程序的主体三重循环,我们选择最内层循环进行向量化的原因是____。
A.它最后执行
B.外层循环中没有计算操作
C.是随意选择的
D.它的连续循环步是对不同元素进行相同运算
15.在矩阵乘法之前将第二个矩阵转置,其作用不包括____。
A.增大访存空间局部性
B.减少运算次数
C.优化SIMD访存
D.以上皆错
16.CPU cache大小为32KB,64*64的两个矩阵进行加法计算,下面说法正确的是____。
A.可利用cache时间局部性优化性能
B.可利用cache空间局部性优化性能
C.可通过矩阵分片优化性能
D.访存方面无优化可能
17.对下面程序,说法正确的是 # pragma omp parallel for num_threads(thread_count) \ reduction(+:sum) for (k = 1; k <= n; k++) { sum += factor/(2*k-1); factor = -factor; }
A.破坏了数据依赖
B.未破坏数据依赖
C.取决于变量声明
D.比临界区方式性能差
18.多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是
A.读取x存在数据依赖,不能并发进行
B.累加顺序被改变,结果是错误的
C.加法操作是简单运算,无需同步
D.加法操作不是原子操作,需要同步保证数据依赖
19.n个节点的线性阵列中,节点最远通信距离为____。
A.1
B.O(logn)
C.O(sqrt(n))
D.O(n)
20.SSE的shuffle指令的8位二进制整数参数被划分为4个2位二进制整数imm8[0:3],若imm8[2]=j则表示___。
A.将第一个源寄存器的第j个元素放在目标寄存器位置2
B.将第二个源寄存器的第j个元素放在目标寄存器位置2
C.将第一个源寄存器的第2个元素放在目标寄存器位置2
D.将第二个源寄存器的第2个元素放在目标寄存器位置2
21.采用搜索分解设计15数码问题的并行算法,不包含下面哪个步骤____。
A.串行生成一定规模的搜索树
B.当前每个叶结点为根的子树搜索分配给一个处理器
C.发现解的处理器通知其他处理器
D.将所有处理器的结果组合成最终解
22.采用划分子矩阵技术优化矩阵乘法CUDA程序,主要思想是访存更多在____。
A.CPU内存
B.GPU显存
C.GPU共享内存
D.GPU寄存器
23.MMX有____个专用寄存器。
A.4
B.8
C.16
D.32
24.1) R=XR*1.3;G=XG*1.8;B=XB*1.1; 2) R=X[0]*1.3;G=X[1]*1.8;B=X[2]*1.1; 这两个程序片段哪个进行向量化效率更高?
A.1)
B.2)
C.不确定
D.以上皆错
25.n个处理器、n个内存模块的交叉开关构造成本为____。
A.O(logn)
B.O(n)
C.O(nlogn)
D.O(n^2)
26.SSE intrinsics _mm_load_pd命令的功能是____。
A.对齐向量读取单精度浮点数
B.未对齐向量读取单精度浮点数
C.对齐向量读取双精度浮点数
D.未对齐向量读取双精度浮点数
27.天河1号、天河2号、神威.太湖之光总体上都是____架构
A.单核
B.多核
C.众核
D.集群
28.任务依赖图中顶点权重之和表示____。
A.任务数
B.任务难度
C.串行执行时间
D.并行执行时间
29.MPI组通信操作不包括哪类____。
A.通信
B.同步
C.点对点
D.计算
30.OpenMP的循环调度策略不会影响算法的____。
A.负载均衡
B.调度开销
C.计算总量
D.数据局部性
31.关于障碍机制,下面说法错误的是____。
A.会导致快速线程阻塞,不应使用
B.在需要强制线程步调一致时,应使用
C.可用互斥量机制实现
D.属于一种组通信
32.OpenMP编译指示的作用范围是____。
A.其后一个语句
B.其后连续语句
C.其后直到函数结束
D.整个函数
33.记并行时间为T,串行时间为T',处理器数量为p,则额外开销应如何计算?
A.T'-T
B.T-T'
C.pT
D.pT-T'
34.两个矩阵相乘前将第二个矩阵转置,是使用利用数据访问的_____达到更高的cache命中率。
A.时间局部性
B.空间局部性
C.计算局部性
D.混合局部性
35.链表数据结构的查找、插入、删除等操作,既有对链表的读也有对链表的写,对此,采用互斥量加解锁整个链表的同步机制相比加解锁每个节点的方式的缺点是____。
A.粒度太粗,节点读写一致性不能保证
B.粒度太粗,线程不必要的等待
C.粒度太细,加解锁开销大
D.粒度太细,总体读写一致性不能保证
36.对矩阵每行排序的程序进行多线程并行化,对矩阵采用____。
A.简单均匀块划分即可保证负载均衡
B.循环划分才能实现负载均衡
C.动态划分才能实现负载均衡
D.随机划分才能实现负载均衡
37.____执行pthread_sem_post操作,当前线程会唤醒阻塞线程。
A.当信号量已加锁时
B.当信号量为0时
C.当信号量已超过阈值时
D.当信号量已销毁时
38.我们在小规模系统和小规模输入下测试了几个并行算法,应选择哪个应用在实际系统中?
A.选择性能测试并行时间最少者
B.选择性能测试加速比最大者
C.选择性能测试效率最高者
D.应结合可扩展性分析做出选择
39.AVX_512有____个专用寄存器。
A.4
B.8
C.16
D.32
40.实现任何时刻都只有一个线程进行共享变量更新的OpenMP指令是____。
A.omp parallel
B.omp barrier
C.omp critical
D.omp reduce
41.动态线程编程模式的优点是____。
A.线程创建开销低
B.线程管理开销低
C.线程终止开销低
D.系统资源利用率高
42.关于MPI_recv对源地址的标识,下列说法正确的是____。
A.只能使用进程编号
B.可以使用IP地址
C.可以使用IPV6地址
D.可以使用MPI_ANY_SOURCE
43.以下____不是MPI基本原语。
A.MPI_Comm_rank
B.MPI_Comm_no
C.MPI_Comm_size
D.MPI_Init
44.通常忙等待方法的性能要比互斥量方法的性能____。
A.更高
B.更低
C.高低不确定
D.以上皆错
45.n个元素排序问题,如果只能通过元素比较交换构造算法,则n个处理器的并行排序算法达到____的运行时间才是代价最优的。
A.O(logn)
B.O(n)
C.O(nlogn)
D.O(n^2)
46.pthread_join通过____指定要等待的线程。
A.pthread_create返回的线程句柄
B.线程的系统ID
C.创建线程时设置的线程号
D.创建线程时设置的线程名
47.推动GPU应用于通用高性能计算爆发式增长的开发工具是____。
A.OpenGL
B.OpenCL
C.DirectX
D.CUDA
48.在使用条件变量时,还需配套使用一个____。
A.互斥量
B.信号量
C.障碍
D.自旋锁
49.将起泡排序程序改写为奇偶转置排序,关于其两层循环是否存在数据依赖,下面说法正确的是____。
A.外层存在,内层不存在
B.外层不存在,内层存在
C.两层都不存在
D.两层都存在
50.float a[64]; for (i=0; i<60; i+=4) Va = a[i+2:i+5]; 系统向量化访存是按16字节对齐的,则此向量化程序每个循环步产生____个内存访问操作。
A.1
B.2
C.3
D.4
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777