22春学期(高起本1709-1803、全层次1809-2103)《并行程序设计》在线作业-00001
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.对于效率E,下面描述错误的是____。
A.理想并行E=1
B.总是在0~1之间
C.可能>1
D.可能随着处理器数量增大趋向于0
2.OpenMP相对于Pthread的优点是____。
A.功能更强大
B.可达更高并发度
C.可降低通信开销
D.由编译器生成线程创建和管理代码,更简单
3.pthread_join的作用是____。
A.强制终止指定线程
B.检测指定线程是否结束
C.等待指定线程结束才返回
D.向指定线程发送数据
4.在使用条件变量之后必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
5.在SSE intrinsics程序中整数数据类型是____。
A.__m128
B.__m128f
C.__m128d
D.__m128i
6.控制流语句进行SIMD并行化很困难的原因是控制流语句导致____。
A.连续数据执行不同指令
B.连续数据执行相同指令
C.同一数据执行不同指令
D.同一数据执行相同指令
7.CUDA共享内存是由____共享。
A.Grid中所有线程
B.一个Block中所有线程
C.一个Warp中所有线程
D.GPU中所有线程
8.在使用条件变量之前必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
9.在SSE intrinsics程序中单精度浮点数数据类型是____。
A.__m128
B.__m128f
C.__m128d
D.__m128i
10.和一对多广播对应的组通信操作是____。
A.多对一收集
B.多对多收集
C.多对一归约
D.多对多归约
11.竞争条件是指程序执行过程中两个或多个事件的____影响执行结果。
A.时序
B.时长
C.结果
D.运算对象
12.下面矩阵运算中,哪个进行简单的数据并行效果不佳____。
A.矩阵求和
B.矩阵相乘
C.矩阵向量相乘
D.高斯消去
13.CPU cache大小为32KB,如希望(单精度浮点数)矩阵乘法计算过程中所有数据都驻留cache中,则矩阵大小最大为
A.16*16
B.32*32
C.64*64
D.128*128
14.关于MPI_recv对消息的区分,下列说法正确的是____。
A.只能使用消息标签
B.可以使用MPI_ANY_TAG
C.可以使用消息名
D.可以使用端口号
15.对两个互斥量a、b,线程1执行lock(a); lock(b);,线程2执行lock(b); lock(a),则两个线程间会发生____。
A.竞争条件
B.数据依赖
C.资源泄漏
D.死锁
16.for (i=0; i<10; i++) A[i] = A[i]+1; 此循环____数据依赖。
A.存在
B.不存在
C.不确定
D.以上皆错
17.对双精度浮点计算,AVX最高实现____路并行。
A.2
B.4
C.8
D.16
18.OpenMP的循环调度策略不会影响算法的____。
A.负载均衡
B.调度开销
C.计算总量
D.数据局部性
19.SIMD架构未见于_____中。
A.多媒体扩展
B.图形和游戏处理器
C.计算机集群
D.协处理器
20.CUDA线程层次中不包括____。
A.Kernel
B.Grid
C.Block
D.Thread
21.起泡排序改为奇偶转置排序,消除了循环步间的数据依赖的原因是____。
A.增大了元素比较距离
B.减小了元素比较距离
C.改为元素两两分组比较
D.消除了元素比较
22.以下超级计算机中,____不是SIMD架构。
A.CDCSTAR-100
B.757
C.银河
D.天河1号
23.OpenMP能实现的是____。
A.避免数据竞争
B.提供任务划分策略
C.确保加速
D.确保降低通信开销
24.OpenMP编译指示中说明共享变量是用____子句。
A.private
B.shared
C.schedule
D.nowait
25.在条件不成立时,使用pthread_cond_wait____。
A.令线程阻塞
B.解锁互斥量
C.解锁互斥量然后令线程阻塞
D.加锁互斥量
26.静态任务划分相对于动态任务划分的优点是____。
A.确保负载均衡
B.任务粒度细
C.计算复杂度低
D.并行效率高
27.两个矩阵相乘,若矩阵规模大于cache大小,则优化访存的可行方法是____。
A.先将两个矩阵读入cache再进行乘法
B.先转置第一个矩阵再进行乘法
C.先转置第二个矩阵再进行乘法
D.以上皆错
28.对一个串行程序进行SIMD并行化,应重点考虑的程序部分是____。
A.声明语句
B.条件分支语句
C.循环语句
D.输入输出语句
29.对于条件变量,下列说法错误的是____。
A.可以用互斥量实现相同功能
B.不能用互斥量实现相同功能
C.较之互斥量方案节省资源
D.较之互斥量方案代码更简洁
30.MPI不包括的通信类别是____。
A.点对点通信
B.数据传输组通信
C.计算和数据传输组通信
D.加锁解锁通信
31.一个函数是“线程安全的”,其含义是该函数____。
A.多线程执行能抵御网络攻击
B.多线程执行能保护用户隐私数据
C.多线程执行结果也是正确的
D.以上皆错
32.记并行时间为T,串行时间为T',处理器数量为p,并行效率E的定义是____。
A.T'-T
B.T'/T
C.T'/pT
D.pT-T'
33.在共享内存架构编程中,线程间不能通过____进行通信
A.全局变量
B.局部变量
C.静态变量
D.全局堆中变量
34.SSE intrinsics _mm_storeu_pd命令的功能是____。
A.对齐标量存单精度浮点数
B.未对齐标量存单精度浮点数
C.对齐向量存双精度浮点数
D.未对齐向量存双精度浮点数
35.n个节点的线性阵列构造成本为____。
A.O(logn)
B.O(sqrt(n))
C.O(n)
D.O(nlogn)
36.为持续提高CPU性能,以下说法正确的是____。
A.只需不断增加器件集成密度
B.只需不断提高频率
C.必须利用并行技术
D.只需提高功耗
37.Flynn分类法中,下面哪种体系结构在实际中几乎没有意义?
A.SISD
B.SIMD
C.MISD
D.MIMD
38.对于多线程各自进行本地运算,然后由主线程汇总结果的模式,下面说法正确的是____。
A.在同构核心上,线程运行速度一样,主线程无需等待,直接汇总结果即可
B.线程运行速度可能不一致,必须采用同步保证主线程汇总正确结果
C.太多本地运算,不能体现并行效果,不是好的模式
D.主线程汇总结果在性能上必然不如多线程并行汇总结果
39.关于omp single指令,下面说法错误的是____。
A.线程组中只有一个线程执行代码
B.用于I/O或初始化等任务
C.是保持数据依赖所必须的
D.入口或出口无隐式barrier
40.对划分输入数据的策略,下面说法错误的是____。
A.当输出数据很少时,需划分输入数据
B.当输出数据存在依赖时,需划分输入数据
C.通常最后需要汇总结果
D.由于不是直接划分输出数据,性能会很差
41.下列子句中____不是OpenMP的同步指令。
A.nowait
B.critical
C.atomic
D.barrier
42.MPI程序中发送和接收消息的两个进程必须____。
A.在同一个网段中
B.连接在同一个路由器上
C.在同一个通信域中
D.以上皆错
43.四位助教帮助教授批改300份试卷,试卷共16道题,每位助教负责批改所有试卷的4道题,这是一种____任务划分方法。
A.数据并行
B.任务并行
C.搜索并行
D.预测并行
44.实现任何时刻都只有一个线程进行共享变量更新的OpenMP指令是____。
A.omp parallel
B.omp barrier
C.omp critical
D.omp reduce
45.SSE intrinsics _mm_storeu_ps命令的功能是____。
A.对齐标量存单精度浮点数
B.未对齐向量存单精度浮点数
C.对齐标量存双精度浮点数
D.未对齐向量存双精度浮点数
46.利用cache line一次读取多个数据字的机制优化程序访存性能,其机理是____。
A.降低了访存延迟
B.隐藏了访存延迟
C.利用了cache空间局部性
D.利用了cache时间局部性
47.伸缩性的含义不包括____。
A.硬件能升级扩展
B.扩大系统规模构造成本增长不快
C.程序在新硬件下仍能高效运行
D.程序在更大规模系统下仍能高效运行
48.在下面问题中,SIMD并行更适合____。
A.搜索
B.排序
C.矩阵乘法
D.构建二叉排序树
49.每个AVX寄存器宽度为____位。
A.32
B.64
C.128
D.256
50.关于OpenMP循环并行程序的编写,下列说法中正确的是____。
A.程序员需要编写线程创建和管理代码
B.程序员需要编写循环划分代码
C.程序员需要编写调度策略代码
D.程序员只需指出对哪个循环进行并行,循环划分和调度策略是什么