南开大学21春学期《并行程序设计》在线作业4.docx
《南开大学21春学期《并行程序设计》在线作业4.docx》由会员分享,可在线阅读,更多相关《南开大学21春学期《并行程序设计》在线作业4.docx(11页珍藏版)》请在冰豆网上搜索。
南开大学21春学期《并行程序设计》在线作业4
21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《并行程序设计》在线作业
在下列应用中,SIMD最不适合____。
A:
图像处理
B:
音频处理
C:
科学计算
D:
数据库查询
答案:
D
MPI默认点对点通信模式是____。
A:
阻塞的
B:
非阻塞的
C:
对等的
D:
主从的
答案:
A
对奇偶转置排序进行OpenMP并行化,第一种策略是直接对内层循环使用ompparallelfor指令,第二种策略是对外层循环使用ompparallel指令,对内层循环使用ompfor指令,后者相对于前者的优点是____。
A:
保持了数据依赖
B:
消除了大量线程创建、销毁开销
C:
有利于负载均衡
D:
减少了线程间交互
答案:
B
单程序多数据流模式是针对____架构的。
A:
SISD
B:
SIMD
C:
MISD
D:
MIMD
答案:
D
for(i=0;i<16;i+=1){L=A[i+0]–B[i+0];D=D+abs(L);},此循环____。
A:
可完全向量化
B:
不可向量化
C:
不确定
D:
可部分向量化
答案:
D
MPI原址收发各一条消息的API是_____。
A:
MPI_Sendrecv
B:
MPI_Send
C:
MPI_Recv
D:
MPI_Sendrecv_Replace
答案:
D
SSE是____平台的SIMD架构。
A:
x86
B:
POWER
C:
SPARC
D:
ARM
答案:
A
以下超级计算机中,____不是SIMD架构。
A:
CDCSTAR-100
B:
757
C:
银河
D:
天河1号
答案:
D
对于搜索分解,下面哪个说法是错误的_____。
A:
所有子树搜索任务都必须全部完成
B:
工作量可能大于串行计算
C:
工作量可能小于串行计算
D:
可能产生超线性加速比
答案:
A
在矩阵乘法的串行程序中,对____部分进行向量化收益最大。
A:
初始化
B:
第二个矩阵转置循环
C:
矩阵元素乘—加计算的循环
D:
结果输出
答案:
C
OpenMP默认采用____循环划分策略。
A:
静态
B:
固定
C:
动态
D:
自适应
答案:
A
为缓解存储和CPU之间的性能差距,常见的技术手段不包括____。
A:
利用cache降低访存延迟
B:
利用多线程隐藏访存延迟
C:
利用预取隐藏访存延迟
D:
采用大容量内存提高访问速度
答案:
D
在矩阵乘法之前将第二个矩阵转置,其作用不包括____。
A:
增大访存空间局部性
B:
减少运算次数
C:
优化SIMD访存
D:
以上皆错
答案:
B
MPI组通信操作不包括哪类____。
A:
通信
B:
同步
C:
点对点
D:
计算
答案:
C
OpenMP中指定多线程中只有主线程执行代码块的指令是____。
A:
ompsingle
B:
ompmaster
C:
ompslave
D:
ompparallel
答案:
B
Pthread支持____。
A:
线程间同步
B:
发现数据依赖
C:
自动线程化
D:
自动任务分配
答案:
A
主线程创建了4个从线程然后打印一条信息,从线程打印各自的线程号,未使用任何同步,则主线程打印的消息和从线程打印的线程号的相对顺序____。
A:
必然主线程前、从线程后
B:
必然从线程前、主线程后
C:
必然相互交织
D:
各种顺序皆有可能
答案:
D
AVX是____平台的SIMD架构。
A:
x86
B:
POWER
C:
SPARC
D:
ARM
答案:
A
控制流语句进行SIMD并行化很困难的原因是控制流语句导致____。
A:
连续数据执行不同指令
B:
连续数据执行相同指令
C:
同一数据执行不同指令
D:
同一数据执行相同指令
答案:
A
编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A:
2
B:
4
C:
8
D:
16
答案:
B
一个Neon寄存器最多存放____个双精度浮点数。
A:
2
B:
4
C:
8
D:
16
答案:
A
在共享内存架构编程中,线程间不能通过____进行通信
A:
全局变量
B:
局部变量
C:
静态变量
D:
全局堆中变量
答案:
B
CPU时钟频率1GHz,每个时钟周期两个计算单元可执行4条指令,内存延迟125ns,进行向量点积运算,无cache情况下,计算能力为
A:
8MFlops
B:
125MFlops
C:
1GFlops
D:
4GFlops
答案:
A
在128位的SIMD寄存器中,我们不能保存____。
A:
16个8位整数
B:
8个16位短整型
C:
4个32位整型
D:
16个字符的字符串
答案:
D
采用MPI主从模型解决矩阵每行排序问题,主进程不断向每个从进程发送任务、接收结果,则它从从进程接收结果时,以下哪种方式更好____。
A:
按编号顺序依次从从进程接收结果
B:
按编号逆序依次从从进程接收结果
C:
按编号顺序、逆序交替从从进程接收结果
D:
使用MPI_ANY_SOURCE和MPI_ANY_TAG
答案:
D
两个矩阵相乘,当矩阵规模大于cache大小时,平凡算法的问题是____。
A:
第一个矩阵访存时间局部性差
B:
第一个矩阵访存空间局部性差
C:
第二个矩阵访存时间局部性差
D:
第二个矩阵访存空间局部性差
答案:
D
MPI_Send和MPI_recv是通过____区分消息。
A:
端口号
B:
消息名
C:
消息标签
D:
消息哈希
答案:
C
我国最近一次夺得全球超级计算机计算能力冠军的是____。
A:
天河1号
B:
天河1A
C:
天河2号
D:
神威.太湖之光
答案:
D
两个矩阵相乘,将矩阵划分为固定大小的子矩阵,变元素运算为子矩阵运算,是使用利用数据访问的_____达到更高的cache命中率。
A:
时间局部性
B:
空间局部性
C:
计算局部性
D:
混合局部性
答案:
A
关于pthread_create函数,下列说法错误的是____。
A:
它返回是线程创建成功与否的错误码
B:
线程属性参数使用空指针表示使用默认参数
C:
它成功创建线程后立刻执行线程函数等待其结束后返回
D:
可通过它将参数传递给线程函数
答案:
C
下面矩阵运算中,哪个进行简单的数据并行效果不佳____。
A:
矩阵求和
B:
矩阵相乘
C:
矩阵向量相乘
D:
高斯消去
答案:
D
SSEintrinsics_mm_load_ss命令的功能是____。
A:
对齐向量读取单精度浮点数
B:
未对齐向量读取单精度浮点数
C:
对齐标量读取单精度浮点数
D:
未对齐标量读取单精度浮点数
答案:
C
关于并行代价,下面描述正确的是____。
A:
总是小于串行时间
B:
总是大于并行时间
C:
总是与并行时间渐进相等
D:
以上皆错
答案:
D
每个AVX寄存器宽度为____位。
A:
32
B:
64
C:
128
D:
256
答案:
D
SSE运算指令中未提供____指令。
A:
算术运算
B:
矩阵运算
C:
逻辑运算
D:
比较运算
答案:
B
记并行时间为T,串行时间为T',处理器数量为p,则额外开销应如何计算?
A:
T'-T
B:
T-T'
C:
pT
D:
pT-T'
答案:
D
使用____无法直接实现“主线程等待4个从线程完成任务”。
A:
1个信号量
B:
障碍
C:
1个互斥量
D:
4个互斥量
答案:
C
指定线程间划分循环策略的OpenMP子句是____。
A:
shared
B:
reduction
C:
schedule
D:
nowait
答案:
C
下列哪项不是这门课程的目标?
A:
学会肯定能优化程序性能的方法
B:
学会用并行思维思考问题
C:
学会常用的并行编程工具
D:
理解软件到并行架构的映射
答案:
A
下面哪个问题相对而言更不适合进行数据并行____。
A:
求和
B:
排序
C:
向量加法
D:
矩阵乘法
答案:
B
下面哪种架构最适合数据并行____。
A:
SISD
B:
SIMD
C:
MISD
D:
MIMD
答案:
B
为防止编译器不支持OpenMP,应使用____实现OpenMP代码和普通代码的条件编译。
A:
"#include"
B:
"#pragmaompparallel"
C:
"#ifdef_OPENMP"
D:
"#define_OPENMP"
答案:
C
在编写使用n个线程进行n个数求和的OpenMP的程序时采用临界区技术,则多线程版本____串行版本。
A:
肯定快于
B:
肯定慢于
C:
可能快于
D:
以上皆错
答案:
B
SSEintrinsics_mm_store_ss命令的功能是____。
A:
对齐向量存单精度浮点数
B:
未对齐向量存双精度浮点数
C:
对齐标量存单精度浮点数
D:
未对齐标量存双精度浮点数
答案:
C
MPI基本原语不包括____。
A:
MPI_Barrier
B:
MPI_Comm_rank
C:
MPI_Comm_size
D:
MPI_Init
答案:
A
一个AVX寄存器最多存放____个整型数。
A:
2
B:
4
C:
8
D:
16
答案:
C
在使用信号量之前必须对其进行____。
A:
初始化
B:
加锁
C:
加1
D:
销毁
答案:
A
主线程通过____函数获取特定线程的返回结果。
A:
pthread_create
B:
pthread_join
C:
pthread_cancel
D:
pthread_get
答案:
B
静态任务划分相对于动态任务划分的优点是____。
A:
确保负载均衡
B:
任务粒度细
C:
计算复杂度低
D:
并行效率高
答案:
B
当问题规模不变时,随着处理器数量增大,效率降低的性质对____成立。
A:
部分并行算法
B:
代价最优并行算法
C:
所有并行算法
D:
以上皆错
答案:
C