南开19秋学期(1709、1803、1809、1903、1909)《并行程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.两个矩阵相乘,若矩阵总规模小于cache大小,则优化访存的最佳方法是____。
A.先将两个矩阵读入cache再进行乘法
B.先转置第一个矩阵再进行乘法
C.先转置第二个矩阵再进行乘法
D.以上皆错
2.对矩阵乘法串行程序的主体三重循环,我们选择最内层循环进行向量化的原因是____。
A.它最后执行
B.外层循环中没有计算操作
C.是随意选择的
D.它的连续循环步是对不同元素进行相同运算
3.MPI预定义数据类型不包括____。
A.MPI_DOUBLE
B.MPI_LONG_LONG
C.MPI_BYTE
D.MPI_PACKED
4.推动GPU应用于通用高性能计算爆发式增长的开发工具是____。
A.OpenGL
B.OpenCL
C.DirectX
D.CUDA
5.pthread_join通过____指定要等待的线程。
A.pthread_create返回的线程句柄
B.线程的系统ID
C.创建线程时设置的线程号
D.创建线程时设置的线程名
6.对于加速比S和处理器数量p,下列说法正确的是____。
A.有可能S>p
B.必然S<p
C.不可能S=p
D.两者无关联
7.关于pthread_create函数,下列说法错误的是____。
A.它返回是线程创建成功与否的错误码
B.线程属性参数使用空指针表示使用默认参数
C.它成功创建线程后立刻执行线程函数等待其结束后返回
D.可通过它将参数传递给线程函数
8.MPI组通信操作不包括哪类____。
A.通信
B.同步
C.点对点
D.计算
9.我国首次获得戈登?贝尔奖是在____年。
A.2015
B.2016
C.2017
D.2018
10.n个节点的线性阵列构造成本为____。
A.O(logn)
B.O(sqrt(n))
C.O(n)
D.O(nlogn)
11.OpenMP的优点不包括____。
A.从头编写并行程序很自然
B.串行程序并行化简单
C.不必关心低层细节
D.可移植、可扩展
12.下面说法错误的是____。
A.不存在权威的并行体系结构
B.学习并行程序设计只关心软件即可
C.并行体系结构对性能有巨大影响
D.很多并行体系结构未来发展不明了
13.以下说法错误的是____。
A.全归约的高效算法基于多对多广播的高效算法
B.全归约高效算法基于一对多广播的高效算法
C.前缀和的高效算法基于多对多广播的高效算法
D.前缀和的高效算法中的通信模式于全归约的高效算法相似
14.SSE指令移动单精度浮点数,不能实现____。
A.将64位数据移动到SSE寄存器高位
B.将64位数据移动到SSE寄存器低位
C.将32位数据移动到SSE寄存器指定位置
D.在两个SSE寄存器高/低64位间移动
15.Pthread是_____线程接口标准。
A.Linux
B.POSIX
C.Windows
D.IOS
16.主线程要求从线程退出应采用____。
A.pthread_create
B.pthread_exit
C.pthread_quit
D.pthread_cancel
17.MPI程序中默认的通信域是____。
A.MPI_ANY_SOURCE
B.MPI_ANY_TAG
C.MPI_ANY_COMM
D.MPI_COMM_WORLD
18.多线程是____架构下的并行模式。
A.MIMD
B.共享内存
C.分布式内存
D.分离式地址空间
19.超算领域软件应用的最高奖项是____。
A.图灵奖
B.菲尔茨奖
C.诺贝尔奖
D.戈登?贝尔奖
20.SSE intrinsics _mm_storeu_pd命令的功能是____。
A.对齐标量存单精度浮点数
B.未对齐标量存单精度浮点数
C.对齐向量存双精度浮点数
D.未对齐向量存双精度浮点数
21.关于OpenMP循环并行程序的编写,下列说法中不正确的是____。
A.程序员无需编写线程创建和管理代码
B.程序员无需编写循环划分代码
C.程序员需指出哪个循环应并行
D.程序员需编写线程同步代码
22.下列子句中____不是OpenMP的同步指令。
A.nowait
B.critical
C.atomic
D.barrier
23.n个数求和的串行程序,通过一个循环将每个数累加到全局变量sum中,其多线程版本简单将循环范围改变为每个线程负载的范围,存在的问题是____。
A.负载不均
B.通信开销大
C.CPU空闲等待严重
D.sum累加产生竞争条件,导致结果错误
24.全球500强超算越来越体现出依赖____提供强大计算能力的趋势。
A.单核CPU
B.多核CPU
C.FPGA
D.众核协处理器
25.我们不能通过____指定OpenMP循环划分策略。
A.使用编译指示
B.设置环境变量
C.调用库函数
D.采用默认设置
26.有大量分支指令的程序不适合下面哪种体系结构上进行并行化?
A.SISD
B.SIMD
C.SPMD
D.MIMD
27.在条件不成立时,使用pthread_cond_wait____。
A.令线程阻塞
B.解锁互斥量
C.解锁互斥量然后令线程阻塞
D.加锁互斥量
28.n个模块的总线,并发通信能力为____。
A.1
B.O(logn)
C.O(n)
D.O(nlogn)
29.对单精度浮点计算,MMX最高实现____路并行。
A.2
B.4
C.8
D.16
30.适合进行SIMD并行化的串行程序特点不包括____。
A.大数据对象
B.数据项连续存储
C.流式计算
D.算术计算密集
31.现代CPU中都具有指令乱序执行功能,其目的不包括____。
A.消除指令依赖,更充分利用多流水线
B.提高cache效率
C.改变计算结果
D.消除资源冲突
32.在使用信号量之前必须对其进行____。
A.初始化
B.加锁
C.加1
D.销毁
33.n个节点的线性阵列中,节点最远通信距离为____。
A.1
B.O(logn)
C.O(sqrt(n))
D.O(n)
34.Flynn分类法中,下面哪种体系结构非常适合向量/矩阵计算的并行化?
A.SISD
B.SIMD
C.MISD
D.MIMD
35.SSE intrinsics _mm_load_ps命令的功能是____。
A.对齐向量读取单精度浮点数
B.未对齐向量读取单精度浮点数
C.对齐向量读取双精度浮点数
D.未对齐向量读取双精度浮点数
36.传统科学和工程实验相对于计算机并行仿真的劣势不包括____。
A.成本太高
B.结果不准确
C.时间太长
D.太危险
37.当处理器数量不变时,随着问题规模增大,加速比____。
A.所有算法都增大
B.所有算法都减小
C.代价最优算法都增大
D.代价最优算法都减小
38.我们在小规模系统和小规模输入下测试了几个并行算法,应选择哪个应用在实际系统中?
A.选择性能测试并行时间最少者
B.选择性能测试加速比最大者
C.选择性能测试效率最高者
D.应结合可扩展性分析做出选择
39.当前CPU性能提升已从依赖时钟频率提升转为更多依赖____。
A.多核和众核技术
B.突破物理局限
C.改善散热
D.采用新材料
40.对于条件变量,下列说法错误的是____。
A.可以用互斥量实现相同功能
B.不能用互斥量实现相同功能
C.较之互斥量方案节省资源
D.较之互斥量方案代码更简洁
41.下列哪项不是这门课程的目标?
A.学会肯定能优化程序性能的方法
B.学会用并行思维思考问题
C.学会常用的并行编程工具
D.理解软件到并行架构的映射
42.程序访存更多在____中命中,可最大程度提高性能、降低功耗
A.本CPU cache
B.本CPU主存
C.本结点其他CPU主存
D.远端结点主存
43.SSE数据移动指令分类不包括____。
A.对齐传输
B.未对齐传输
C.标量传输
D.缓存传输
44.OpenMP循环划分策略不包括____。
A.static
B.fixed
C.dynamic
D.guided
45.MPI收发各一条消息的API是_____。
A.MPI_Sendrecv
B.MPI_Send
C.MPI_Recv
D.MPI_Replace
46.对于搜索分解,下面哪个说法是错误的_____。
A.所有子树搜索任务都必须全部完成
B.工作量可能大于串行计算
C.工作量可能小于串行计算
D.可能产生超线性加速比
47.n个元素排序问题,如果只能通过元素比较交换构造算法,则n个处理器的并行排序算法达到____的运行时间才是代价最优的。
A.O(logn)
B.O(n)
C.O(nlogn)
D.O(n^2)
48.静态任务划分相对于动态任务划分的优点是____。
A.确保负载均衡
B.任务粒度细
C.计算复杂度低
D.并行效率高
49.在矩阵乘法的串行程序中,对____部分进行向量化收益最大。
A.初始化
B.第二个矩阵转置循环
C.矩阵元素乘—加计算的循环
D.结果输出
50.记并行时间为T,串行时间为T',处理器数量为p,并行代价的定义是____。
A.pT
B.T'+T
C.p(T'-T)
D.pT-T'