22秋学期(高起本1709-1803、全层次1809-2103)《并行程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.现代CPU中都具有指令乱序执行功能,其目的不包括____。
A.消除指令依赖,更充分利用多流水线
B.提高cache效率
C.改变计算结果
D.消除资源冲突
2.编写矩阵乘法的Neon程序,若矩阵元素为双精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A.2
B.4
C.8
D.16
3.C/C++语言存储二维数组采取____。
A.行主次序存储
B.列主次序存储
C.交错式存储
D.对角线存储
4.MPI收发各一条消息的API是_____。
A.MPI_Sendrecv
B.MPI_Send
C.MPI_Recv
D.MPI_Replace
5.以下____是MPI基本原语。
A.MPI_barrier
B.MPI_Comm_numprocs
C.MPI_Comm_rank
D.MPI_Comm_Send
6.MPI是用于____系统的并行编程模型。
A.SIMD
B.MISD
C.共享内存
D.分布式内存
7.SSE的blend指令的8位二进制整数参数被用做8个掩码imm8[0:7],若imm8[j]=1则表示___。
A.将第一个源寄存器的第j个元素放在目标寄存器位置1
B.将第二个源寄存器的第j个元素放在目标寄存器位置1
C.将第一个源寄存器的第j个元素放在目标寄存器位置j
D.将第二个源寄存器的第j个元素放在目标寄存器位置j
8.在矩阵乘法之前将第二个矩阵转置,其作用不包括____。
A.增大访存空间局部性
B.减少运算次数
C.优化SIMD访存
D.以上皆错
9.一个Neon寄存器最多存放____个整型数。
A.2
B.4
C.8
D.16
10.OpenMP归约指令采用的是一种____算法。
A.分治
B.贪心
C.动态规划
D.排序
11.任务依赖图中顶点权重之和表示____。
A.任务数
B.任务难度
C.串行执行时间
D.并行执行时间
12.当处理器数量不变时,随着问题规模增大,加速比____。
A.所有算法都增大
B.所有算法都减小
C.代价最优算法都增大
D.代价最优算法都减小
13.在下面问题中,SIMD并行最不适合____。
A.向量加法南开答案请进:opzy.net或请联系微信:1095258436
B.向量中元素排序
C.矩阵向量乘法
D.矩阵加法
14.在128位的SIMD寄存器中,我们不能保存____。
A.16个8位整数
B.8个16位短整型
C.4个32位整型
D.16个字符的字符串
15.在超市的顾客购买商品记录中统计一些商品组合的购买频率,将购买频率(商品组合)划分给不同进程,这是一种划分____的数据并行策略。
A.输入数据
B.中间结果
C.输出数据
D.临时数据
16.SIMD并行化时遇到对齐问题,高效的处理方法是____。
A.直接使用SIMD不对齐访存指令
B.将数据拷贝到对齐的内存地址
C.重写算法保证对齐访问
D.串行处理到对齐边界,然后进行SIMD对齐访存
17.采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1行的优点是____。
A.更有利于负载均衡
B.减少了通信开销
C.降低了计算次数
D.减少了从进程空闲
18.对于障碍同步机制,以下说法错误的是____。
A.SIMD架构无需障碍机制
B.是一种群体同步机制
C.可用信号量实现
D.无法用其他同步机制实现
19.OpenMP编译指示中说明私有变量是用____子句。
A.private
B.shared
C.schedule
D.nowait
20.静态线程编程模式的优点是____。
A.线程负载均衡
B.线程通信效率高
C.线程管理开销低
D.系统资源利用率高
21.指定线程间划分循环策略的OpenMP子句是____。
A.shared
B.reduction
C.schedule
D.nowait
22.一个Neon寄存器最多存放____个单精度浮点数。
A.2
B.4
C.8
D.16
23.对于加速比S和处理器数量p,下列说法正确的是____。
A.有可能S>p
B.必然S<p
C.不可能S=p
D.两者无关联
24.Pthread是_____线程接口标准。
A.Linux
B.POSIX
C.Windows
D.IOS
25.OpenMP默认采用____循环划分策略。
A.静态
B.固定
C.动态
D.自适应
26.动态任务划分相对于静态任务划分的优点是____。
A.确保负载均衡
B.通信开销低
C.实现简单
D.计算复杂度低
27.Pthread不支持____。
A.创建并发执行线程
B.同步
C.非显式通信
D.自动并行化
28.在用pthread_mutex_trylock对互斥量进行加锁时,若其已上锁,则线程进入____状态。
A.初始化
B.阻塞
C.继续执行
D.销毁
29.对于搜索分解,下面哪个说法是错误的_____。
A.所有子树搜索任务都必须全部完成
B.工作量可能大于串行计算
C.工作量可能小于串行计算
D.可能产生超线性加速比
30.两个矩阵相乘,当矩阵规模大于cache大小时,平凡算法的问题是____。
A.第一个矩阵访存时间局部性差
B.第一个矩阵访存空间局部性差
C.第二个矩阵访存时间局部性差
D.第二个矩阵访存空间局部性差
31.起泡排序改为奇偶转置排序,消除了循环步间的数据依赖的原因是____。
A.增大了元素比较距离
B.减小了元素比较距离
C.改为元素两两分组比较
D.消除了元素比较
32.利用cache line一次读取多个数据字的机制优化程序访存性能,其机理是____。
A.降低了访存延迟
B.隐藏了访存延迟
C.利用了cache空间局部性
D.利用了cache时间局部性
33.多对多广播/归约高效算法基于____。
A.递归思想
B.流水线思想
C.分治思想
D.贪心思想
34.并行算法加速比的定义是____。
A.并行时间/串行时间
B.串行时间/并行时间
C.串行时间-并行时间
D.(串行时间-并行时间)/并行时间
35.在条件成立时使用pthread_cond_signal____。
A.唤醒等待线程
B.解锁互斥量
C.加锁互斥量
D.唤醒等待线程,该线程重新加锁互斥量
36.下面说法错误的是____。
A.不存在权威的并行体系结构
B.学习并行程序设计只关心软件即可
C.并行体系结构对性能有巨大影响
D.很多并行体系结构未来发展不明了
37.编写n个数求和的OpenMP程序,最高效的方法是____。
A.多线程直接并发累加到共享变量
B.将累加操作设置为临界区
C.在累加操作前设置障碍
D.采用归约指令
38.对矩阵乘法串行程序的主体三重循环,我们选择最内层循环进行向量化的原因是____。
A.它最后执行
B.外层循环中没有计算操作
C.是随意选择的
D.它的连续循环步是对不同元素进行相同运算
39.SSE寄存器A中元素为A1 A2 A3 A4(均为由低到高),则执行C=shuffle(A, A, 0x1B)后,C中元素为
A.A1 A2 A3 A4
B.A2 A1 A4 A3
C.A3 A4 A1 A2
D.A4 A3 A2 A1
40.SSE是____平台的SIMD架构。
A.x86
B.POWER
C.SPARC
D.ARM
41.如果运算结果要保存到独立无关的变量,则在向量运算之后需要进行的一个操作是____。
A.对齐
B.打包
C.解包
D.以上皆错
42.对于条件变量,下列说法错误的是____。
A.可以用互斥量实现相同功能
B.不能用互斥量实现相同功能
C.较之互斥量方案节省资源
D.较之互斥量方案代码更简洁
43.记并行时间为T,串行时间为T’,处理器数量为p,并行代价的定义是____。
A.pT
B.T’+T
C.p(T’-T)
D.pT-T’
44.采用多核、众核技术提升CPU性能,相对于单核的优势不包括____。
A.架构设计更容易
B.更易突破物理极限
C.能更充分利用现有资源
D.功耗优势明显
45.SSE intrinsics _mm_store_sd命令的功能是____。
A.对齐向量存单精度浮点数
B.未对齐向量存单精度浮点数
C.对齐标量存双精度浮点数
D.未对齐标量存双精度浮点数
46.使用____无法直接实现“主线程唤醒4个从线程去执行任务”。
A.1个信号量
B.障碍
C.1个互斥量
D.4个互斥量
47.n个节点的线性阵列中,节点最远通信距离为____。
A.1
B.O(logn)
C.O(sqrt(n))
D.O(n)
48.对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,就计算出了结果矩阵的一个元素,这种说法是____。
A.正确的
B.错误的
49.数据依赖是指必须保持两个内存操作的____才能保证程序结果正确。
A.大小
B.时序
C.时长
D.cache局部性
50.OpenMP并行模型是一种____模式。
A.SISD
B.SIMD
C.MISD
D.SPMD
奥鹏国开作业答案请进opzy.net或添加微信:1095258436