南开20秋学期(1709、1803、1809、1903、1909、2003、2009 )《并行程序设计》在线作业[答案]满分答案
20秋学期(1709、1803、1809、1903、1909、2003、2009 )《并行程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.CUDA寄存器是由____。
A.Grid中所有线程共享
B.一个Block中所有线程共享
C.一个Warp中所有线程共享
D.每个线程独享
2.SIMD并行化时遇到对齐问题,高效的处理方法是____。
A.直接使用SIMD不对齐访存指令
B.将数据拷贝到对齐的内存地址
C.重写算法保证对齐访问
D.串行处理到对齐边界,然后进行SIMD对齐访存
3.使用一个信号量实现“主线程等待4个从线程完成任务”,信号量初始值应设置为____。
A.0
B.1
C.2
D.4
4.对这样的循环for (i=0; i<100; i+=1) A[i+0] = A[i+0] + B[i+0]; 进行向量化,基本技术手段是____。
A.循环划分
B.循环消除
C.循环展开
D.以上皆错
5.OpenMP能实现的是____。
A.避免数据竞争
B.提供任务划分策略
C.确保加速
D.确保降低通信开销
6.MPI_Send和MPI_recv是通过____区分消息。
A.端口号
B.消息名
C.消息标签
D.消息哈希
7.伸缩性的含义不包括____。
A.硬件能升级扩展
B.扩大系统规模构造成本增长不快
C.程序在新硬件下仍能高效运行
D.程序在更大规模系统下仍能高效运行
8.在下面问题中,SIMD并行更适合____。
A.搜索
B.排序
C.矩阵乘法
D.构建二叉排序树
9.以下超级计算机中,____不是SIMD架构。
A.CDCSTAR-100
B.757
C.银河
D.天河1号
10.对于效率E,下面描述错误的是____。
A.理想并行E=1
B.总是在0~1之间
C.可能>1
D.可能随着处理器数量增大趋向于0
11.SSE intrinsics _mm_store_sd命令的功能是____。
A.对齐向量存单精度浮点数
B.未对齐向量存单精度浮点数
C.对齐标量存双精度浮点数
D.未对齐标量存双精度浮点数
12.和一对多广播对应的组通信操作是____。
A.多对一收集
B.多对多收集
C.多对一归约
D.多对多归约
13.对一个串行程序进行SIMD并行化,应重点考虑的程序部分是____。
A.声明语句
B.条件分支语句
C.循环语句
D.输入输出语句
14.若SIMD并行化时遇到对齐问题,下列说法正确的是____。
A.只能使用不对齐访存指令
B.不能进行SIMD并行化
C.对齐开销可能完全抵消SIMD并行收益
D.以上皆错
15.使用____无法直接实现“主线程唤醒4个从线程去执行任务”。
A.1个信号量
B.障碍
C.1个互斥量
D.4个互斥量
16.在使用条件变量时,还需配套使用一个____。
A.互斥量
B.信号量
C.障碍
D.自旋锁
17.OpenMP中指定单线程执行的指令是____。
A.omp atomic
B.omp only
C.omp static
D.omp single
18.在条件成立时使用pthread_cond_signal____。
A.唤醒等待线程
B.解锁互斥量
C.加锁互斥量
D.唤醒等待线程,该线程重新加锁互斥量
19.MPI收发各一条消息的API是_____。
A.MPI_Sendrecv
B.MPI_Send
C.MPI_Recv
D.MPI_Replace
20.OpenMP循环划分策略不包括____。
A.static
B.fixed
C.dynamic
D.guided
21.第一款桌面多核CPU是____发布的。
A.Intel
B.AMD
C.IBM
D.SUN
22.pthread_join的作用是____。
A.强制终止指定线程
B.检测指定线程是否结束
C.等待指定线程结束才返回
D.向指定线程发送数据
23.静态线程编程模式的缺点是____。
A.线程管理开销高
B.系统资源利用率低
C.线程负载不均
D.线程通信开销高
24.控制流语句进行SIMD并行化很困难的原因是控制流语句导致____。
A.连续数据执行不同指令
B.连续数据执行相同指令
C.同一数据执行不同指令
D.同一数据执行相同指令
25.OpenMP循环并行指令是____。
A.omp parallel
B.omp single
C.omp parallel for
D.omp master
26.任务依赖图中顶点权重之和表示____。
A.任务数
B.任务难度
C.串行执行时间
D.并行执行时间
27.OpenMP主要是通过____来更高层抽象的多线程编程。
A.设计实现新的语言
B.为现有语言提供大量库函数
C.为现有语言扩展编译指示
D.新编译器实现自动并行化
28.MPI默认点对点通信模式是____。
A.阻塞的
B.非阻塞的
C.对等的
D.主从的
29.下面说法错误的是____。
A.不存在权威的并行体系结构
B.学习并行程序设计只关心软件即可
C.并行体系结构对性能有巨大影响
D.很多并行体系结构未来发展不明了
30.关于OpenMP程序中的并行结构,以下说法正确的是____。
A.其结束时需程序员人为添加同步
B.其结束时OpenMP已默认添加隐式障碍
C.其结束时完全不需要同步
D.其结束时必须进行同步
31.GPU相对于其他众核产品的优势不包括____。
A.平台普及
B.有CUDA这样易学的开发工具
C.性价比高
D.由英伟达公司一家把控
32.MPI的通信是____。
A.无类型传输
B.弱类型传输
C.强类型传输
D.以上皆错
33.对单精度浮点计算,MMX最高实现____路并行。
A.2
B.4
C.8
D.16
34.n个数求和的问题,使用n个处理器的并行算法达到了logn的运行时间,则算法____。
A.肯定不是代价最优
B.肯定是代价最优
C.不确定是否代价最优
D.以上皆错
35.OpenMP是___的一个常见替代。
A.SSE
B.MPI
C.Pthread
D.CUDA
36.n个节点的超立方构造成本为____。
A.O(logn)
B.O(sqrt(n))
C.O(n)
D.O(nlogn)
37.Pthread是_____线程接口标准。
A.Linux
B.POSIX
C.Windows
D.IOS
38.一个AVX寄存器最多存放____个整型数。
A.2
B.4
C.8
D.16
39.新一代GPU重点提供的新特性不包括____。
A.新型高速显存
B.GPU间直接高速互联
C.自动并行化
D.人工智能计算专门优化
40.编写矩阵乘法的SSE程序,若矩阵元素为双精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A.2
B.4
C.8
D.16
41.在使用互斥量之后必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
42.对于多线程各自进行本地运算,然后由主线程汇总结果的模式,下面说法正确的是____。
A.在同构核心上,线程运行速度一样,主线程无需等待,直接汇总结果即可
B.线程运行速度可能不一致,必须采用同步保证主线程汇总正确结果
C.太多本地运算,不能体现并行效果,不是好的模式
D.主线程汇总结果在性能上必然不如多线程并行汇总结果
43.在下面问题中,SIMD并行最不适合____。
A.向量加法
B.向量中元素排序
C.矩阵向量乘法
D.矩阵加法
44.忙等待方法解决竞争条件的思路是____。
A.令CPU一直处于忙碌状态无法产生竞争条件
B.令存在数据依赖的内存操作充分并行
C.强制多线程进入临界区的顺序来将存在数据依赖内存操作串行化
D.以上皆错
45.OpenMP中多线程间是一种____关系。
A.主从
B.分组
C.对等
D.竞争
46.SSE的shuffle指令的8位二进制整数参数被划分为4个2位二进制整数imm8[0:3],若imm8[1]=j则表示___。
A.将第一个源寄存器的第j个元素放在目标寄存器位置1
B.将第二个源寄存器的第j个元素放在目标寄存器位置1
C.将第一个源寄存器的第1个元素放在目标寄存器位置1
D.将第二个源寄存器的第1个元素放在目标寄存器位置1