南开21春学期17092103《并行程序设计》在线作业答案2.docx
《南开21春学期17092103《并行程序设计》在线作业答案2.docx》由会员分享,可在线阅读,更多相关《南开21春学期17092103《并行程序设计》在线作业答案2.docx(13页珍藏版)》请在冰豆网上搜索。
南开21春学期17092103《并行程序设计》在线作业答案2
南开21春学习(1709-2103)《并行程序设计》在线作业
提示:
本材料为21春南开课程辅导资料,仅供学习参考
一、单选题(共50道试题,共100分)
1.下列哪门课程不是并行程序设计的先导课?
【A】计算机概论
【B】高级语言程序设计
【C】计算机体系结构
【D】数据库系统
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
2.为利用cache空间局部性,需满足____。
【A】cache空间足够大
【B】cacheline足够大
【C】程序访问的数据量足够小
【D】程序访存模式符合空间局部性特点
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
3.OpenMP的缺点不包括____。
【A】常见并行结构的表达并不总可行
【B】局部性处理不易
【C】不易编写多核单核通用程序
【D】性能控制不易
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
4.for(i=0;i<10;i++)A[i]=A[i]+1;此循环____数据依赖。
【A】存在
【B】不存在
【C】不确定
【D】以上皆错
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
5.编写矩阵乘法的Neon程序,若矩阵元素为双精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
【A】2
【B】4
【C】8
【D】16
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
6.在用pthread_mutex_trylock对互斥量进行加锁时,若其已上锁,则线程进入____状态。
【A】初始化
【B】阻塞
【C】继续执行
【D】销毁
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
7.以下说法正确的是____。
【A】多对多广播的高效算法基于一对多广播的高效算法
【B】多对多归约的高效算法基于多对一归约的高效算法
【C】多对多广播的高效算法基于串行的一对多广播算法
【D】以上皆错
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
8.SSE运算指令中未提供____指令。
【A】算术运算
【B】矩阵运算
【C】逻辑运算
【D】比较运算
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
9.SSE是____平台的SIMD架构。
【A】x86
【B】POWER
【C】SPARC
【D】ARM
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
10.在使用信号量之前必须对其进行____。
【A】初始化
【B】加锁
【C】加1
【D】销毁
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
11.CUDA共享内存是由____共享。
【A】Grid中所有线程
【B】一个Block中所有线程
【C】一个Warp中所有线程
【D】GPU中所有线程
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
12.对于条件变量,下列说法错误的是____。
【A】可以用互斥量实现相同功能
【B】不能用互斥量实现相同功能
【C】较之互斥量方案节省资源
【D】较之互斥量方案代码更简洁
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
13.OpenMP编译指示中说明共享变量是用____子句。
【A】private
【B】shared
【C】schedule
【D】nowait
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
14.为了充分利用CPU内的多条流水线,程序应满足____。
【A】相邻指令无依赖性
【B】相邻指令相互依赖
【C】整段程序中指令无依赖性
【D】整段程序中指令相互依赖
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
15.对于向量化,以下说法错误的是____。
【A】总会有打包/解包开销
【B】若运算对象连续存储,可消除打包开销
【C】若运算结果连续存储,可消除解包开销
【D】打包/解包开销由数据存储决定
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
16.对于起泡排序程序两层循环是否存在数据依赖,下面说法正确的是____。
【A】外层存在,内层不存在
【B】外层不存在,内层存在
【C】两层都不存在
【D】两层都存在
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
17.单精度浮点数矩阵乘法进行AVX并行,期望的加速比为____.
【A】等于8
【B】小于8
【C】4到8之间
【D】等于4
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
18.OpenMP主要是通过____来更高层抽象的多线程编程。
【A】设计实现新的语言
【B】为现有语言提供大量库函数
【C】为现有语言扩展编译指示
【D】新编译器实现自动并行化
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
19.OpenMP能实现的是____。
【A】避免数据竞争
【B】提供任务划分策略
【C】确保加速
【D】确保降低通信开销
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
20.对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,还需进行SIMD寄存器中几个元素的___操作才能得到结果矩阵的一个元素。
【A】排列
【B】交换
【C】广播
【D】归约
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
21.对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,就计算出了结果矩阵的一个元素,这种说法是____。
【A】正确的
【B】错误的
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
22.在条件不成立时,使用pthread_cond_wait____。
【A】令线程阻塞
【B】解锁互斥量
【C】解锁互斥量然后令线程阻塞
【D】加锁互斥量
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
23.SSEintrinsics_mm_load_sd命令的功能是____。
【A】对齐标量读取单精度浮点数
【B】未对齐标量读取单精度浮点数
【C】对齐标量读取双精度浮点数
【D】未对齐标量读取双精度浮点数
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
24.编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
【A】2
【B】4
【C】8
【D】16
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
25.CUDA线程层次中不包括____。
【A】Kernel
【B】Grid
【C】Block
【D】Thread
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
26.使用____无法直接实现“主线程等待4个从线程完成任务”。
【A】1个信号量
【B】障碍
【C】1个互斥量
【D】4个互斥量
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
27.编译器编译OpenMP并行循环时,会自动生成一些代码,其中不包括____。
【A】创建和管理线程代码
【B】循环划分给线程的代码
【C】找出数据依赖的代码
【D】线程同步的代码
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
28.以下哪条不是推动并行计算发展的因素?
【A】存储是系统瓶颈
【B】单CPU发展已能满足应用需求
【C】利用标准硬件构造并行机令升级容易
【D】编程环境标准化逐步发展
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
29.SSE有____个专用寄存器。
【A】4
【B】8
【C】16
【D】33
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
30.主线程创建了4个线程,它们打印各自的线程号(0-3),未使用任何同步,则输出顺序____。
【A】必然是0123
【B】必然是4321
【C】不可能是4321
【D】以上皆错
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
31.链表数据结构的查找、插入、删除等操作,既有对链表的读也有对链表的写,对此,采用互斥量加解锁每个节点的同步机制相比加解锁整个链表的方式的缺点是____。
【A】粒度太粗,节点读写一致性不能保证
【B】粒度太粗,线程不必要的等待
【C】粒度太细,加解锁开销大
【D】粒度太细,总体读写一致性不能保证
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
32.SSE的shuffle指令的8位二进制整数参数被划分为4个2位二进制整数imm8[0:
3],若imm8[2]=j则表示___。
【A】将第一个源寄存器的第j个元素放在目标寄存器位置2
【B】将第二个源寄存器的第j个元素放在目标寄存器位置2
【C】将第一个源寄存器的第2个元素放在目标寄存器位置2
【D】将第二个源寄存器的第2个元素放在目标寄存器位置2
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
33.当处理器数量不变时,随着问题规模增大,效率增大对____成立。
【A】部分并行算法
【B】所有并行算法
【C】所有并行算法都不
【D】以上皆错
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
34.对于效率E,下面描述错误的是____。
【A】理想并行E=1
【B】总是在0~1之间
【C】可能>1
【D】可能随着处理器数量增大趋向于0
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
35.____执行pthread_sem_wait操作,线程进入阻塞状态。
【A】当信号量已加锁时
【B】当信号量为0时
【C】当信号量已超过阈值时
【D】当信号量已销毁时
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
36.任务依赖图中顶点权重之和表示____。
【A】任务数
【B】任务难度
【C】串行执行时间
【D】并行执行时间
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
37.编写矩阵乘法的SSE程序,若矩阵元素为双精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
【A】2
【B】4
【C】8
【D】16
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
38.pthread_rwlock_rdlock是对读写锁进行____操作。
【A】加锁
【B】解锁
【C】加读琐
【D】加写锁
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
39.OpenMP中指定多线程中只有主线程执行代码块的指令是____。
【A】ompsingle
【B】ompmaster
【C】ompslave
【D】ompparallel
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
40.当问题规模不变时,随着处理器数量增大,加速比____。
【A】必然增大
【B】必然减小
【C】必然不变
【D】以上皆错
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
41.采用多核、众核技术提升CPU性能,相对于单核的优势不包括____。
【A】架构设计更容易
【B】更易突破物理极限
【C】能更充分利用现有资源
【D】功耗优势明显
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B
42.在对互斥量进行解锁时,还会执行____操作。
【A】互斥量初始化
【B】互斥量销毁
【C】唤醒阻塞线程
【D】以上皆错
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
43.在分布式内存架构编程中,进程间不能____。
【A】进行通信
【B】进行同步
【C】发送和接收消息
【D】通过读写变量交换数据
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
44.超立方中相邻节点二进制编号____。
【A】至少差1位
【B】至多差1位
【C】恰好差1位
【D】差异不固定
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
45.CUDA的优点不包括____。
【A】可移植性
【B】入门简单
【C】标准的SPMD模式
【D】不再需要图形API
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
46.采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1行的缺点是____。
【A】更不利于负载均衡
【B】增大了通信开销
【C】提高了计算次数
【D】增加了从进程空闲
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
A
47.每个AVX寄存器宽度为____位。
【A】32
【B】64
【C】128
【D】256
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
48.我们在小规模系统和小规模输入下测试了几个并行算法,应选择哪个应用在实际系统中?
【A】选择性能测试并行时间最少者
【B】选择性能测试加速比最大者
【C】选择性能测试效率最高者
【D】应结合可扩展性分析做出选择
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
D
49.Flynn分类法中,下面哪种体系结构在实际中几乎没有意义?
【A】SISD
【B】SIMD
【C】MISD
【D】MIMD
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
C
50.一个程序用pthread_create创建了4个线程,此时系统中属于这个程序的共有____线程。
【A】4
【B】5
【C】6
【D】7
[提示]:
本题为课程学习资料,请认真复习并回答!
【正确答案】:
B