南开2021学期(1709、2103、2109、1903、1909、2003、2009、2103)《并行程序设计》在线作业【答案】奥鹏答案
南开2021学期(1709、2103、2109、1903、1909、2003、2009、2103)《并行程序设计》在线作业【答案】奥鹏作业满分答案
正确答案:-----
2021学期(1709、2103、2109、1903、1909、2003、2009、2103)《并行程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.在下列应用中,SIMD最不适合____。
正确答案:-----
A.图像处理
B.音频处理
C.科学计算
D.数据库查询
正确答案:-----
2.MPI默认点对点通信模式是____。
A.阻塞的
B.非阻塞的
C.对等的
D.主从的
正确答案:-----
3.对奇偶转置排序进行OpenMP并行化,第一种策略是直接对内层循环使用omp parallel for指令,第二种策略是对外层循环使用omp parallel指令,对内层循环使用omp for指令,后者相对于前者的优点是____。
A.保持了数据依赖
B.消除了大量线程创建、销毁开销
C.有利于负载均衡
D.减少了线程间交互
正确答案:-----
4.单程序多数据流模式是针对____架构的。
A.SISD
B.SIMD
正确答案:-----
正确答案:-----
C.MISD
D.MIMD
正确答案:-----
正确答案:-----
5.for (i=0; i<16; i+=1) { L = A[i+0] – B[i+0]; D = D + abs(L); },此循环____。
正确答案:-----
A.可完全向量化
B.不可向量化
C.不确定
D.可部分向量化
正确答案:-----
6.MPI原址收发各一条消息的API是_____。
A.MPI_Sendrecv
正确答案:-----
B.MPI_Send
C.MPI_Recv
正确答案:-----
D.MPI_Sendrecv_Replace
正确答案:-----
7.SSE是____平台的SIMD架构。
正确答案:-----
正确答案:-----
正确答案:-----
A.x86
B.POWER
C.SPARC
D.ARM
正确答案:-----
正确答案:-----
8.以下超级计算机中,____不是SIMD架构。
A.CDCSTAR-100
正确答案:-----
B.757
C.银河
D.天河1号
正确答案:-----
9.对于搜索分解,下面哪个说法是错误的_____。
A.所有子树搜索任务都必须全部完成
B.工作量可能大于串行计算
C.工作量可能小于串行计算
D.可能产生超线性加速比
正确答案:-----
10.在矩阵乘法的串行程序中,对____部分进行向量化收益最大。
A.初始化
B.第二个矩阵转置循环
C.矩阵元素乘—加计算的循环
正确答案:-----
D.结果输出
正确答案:-----
11.OpenMP默认采用____循环划分策略。
A.静态
B.固定
C.动态
D.自适应
正确答案:-----
12.为缓解存储和CPU之间的性能差距,常见的技术手段不包括____。
A.利用cache降低访存延迟
B.利用多线程隐藏访存延迟
C.利用预取隐藏访存延迟
D.采用大容量内存提高访问速度
正确答案:-----
13.在矩阵乘法之前将第二个矩阵转置,其作用不包括____。
A.增大访存空间局部性
B.减少运算次数
C.优化SIMD访存
正确答案:-----
D.以上皆错
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
14.MPI组通信操作不包括哪类____。
A.通信
B.同步
C.点对点
D.计算
正确答案:-----
15.OpenMP中指定多线程中只有主线程执行代码块的指令是____。
A.omp single
B.omp master
C.omp slave
D.omp parallel
正确答案:-----
16.Pthread支持____。
正确答案:-----
A.线程间同步
B.发现数据依赖
C.自动线程化
D.自动任务分配
正确答案:-----
17.主线程创建了4个从线程然后打印一条信息,从线程打印各自的线程号,未使用任何同步,则主线程打印的消息和从线程打印的线程号的相对顺序____。
A.必然主线程前、从线程后
B.必然从线程前、主线程后
C.必然相互交织
D.各种顺序皆有可能
正确答案:-----
21.AVX是____平台的SIMD架构。
A.x86
B.POWER
C.SPARC
D.ARM
19.控制流语句进行SIMD并行化很困难的原因是控制流语句导致____。
正确答案:-----
A.连续数据执行不同指令
B.连续数据执行相同指令
C.同一数据执行不同指令
D.同一数据执行相同指令
正确答案:-----
20.编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
正确答案:-----
A.2
B.4
C.8
D.16
正确答案:-----
正确答案:-----
正确答案:-----
21.一个Neon寄存器最多存放____个双精度浮点数。
A.2
B.4
C.8
D.16
22.在共享内存架构编程中,线程间不能通过____进行通信
A.全局变量
B.局部变量
C.静态变量
D.全局堆中变量
正确答案:-----
23.CPU时钟频率1GHz,每个时钟周期两个计算单元可执行4条指令,内存延迟125ns,进行向量点积运算,无cache情况下,计算能力为
A.8MFlops
B.125MFlops
C.1GFlops
D.4GFlops
正确答案:-----
24.在128位的SIMD寄存器中,我们不能保存____。
正确答案:-----
A.16个8位整数
B.8个16位短整型
C.4个32位整型
D.16个字符的字符串
正确答案:-----
25.采用MPI主从模型解决矩阵每行排序问题,主进程不断向每个从进程发送任务、接收结果,则它从从进程接收结果时,以下哪种方式更好____。
A.按编号顺序依次从从进程接收结果
B.按编号逆序依次从从进程接收结果
C.按编号顺序、逆序交替从从进程接收结果
D.使用MPI_ANY_SOURCE和MPI_ANY_TAG
正确答案:-----
26.两个矩阵相乘,当矩阵规模大于cache大小时,平凡算法的问题是____。
A.第一个矩阵访存时间局部性差
B.第一个矩阵访存空间局部性差
C.第二个矩阵访存时间局部性差
D.第二个矩阵访存空间局部性差
正确答案:-----
27.MPI_Send和MPI_recv是通过____区分消息。
正确答案:-----
A.端口号
B.消息名
C.消息标签
D.消息哈希
正确答案:-----
28.我国最近一次夺得全球超级计算机计算能力冠军的是____。
A.天河1号
B.天河1A
C.天河2号
D.神威.太湖之光
正确答案:-----
29.两个矩阵相乘,将矩阵划分为固定大小的子矩阵,变元素运算为子矩阵运算,是使用利用数据访问的_____达到更高的cache命中率。
A.时间局部性
B.空间局部性
C.计算局部性
D.混合局部性
正确答案:-----
30.关于pthread_create函数,下列说法错误的是____。
正确答案:-----
A.它返回是线程创建成功与否的错误码
B.线程属性参数使用空指针表示使用默认参数
C.它成功创建线程后立刻执行线程函数等待其结束后返回
D.可通过它将参数传递给线程函数
正确答案:-----
31.下面矩阵运算中,哪个进行简单的数据并行效果不佳____。
A.矩阵求和
B.矩阵相乘
C.矩阵向量相乘
D.高斯消去
正确答案:-----
32.SSE intrinsics _mm_load_ss命令的功能是____。
正确答案:-----
A.对齐向量读取单精度浮点数
B.未对齐向量读取单精度浮点数
C.对齐标量读取单精度浮点数
D.未对齐标量读取单精度浮点数
正确答案:-----
33.关于并行代价,下面描述正确的是____。
A.总是小于串行时间
B.总是大于并行时间
C.总是与并行时间渐进相等
D.以上皆错
34.每个AVX寄存器宽度为____位。
A.32
B.64
C.128
D.256
正确答案:-----
35.SSE运算指令中未提供____指令。
A.算术运算
B.矩阵运算
C.逻辑运算
D.比较运算
正确答案:-----
36.记并行时间为T,串行时间为T',处理器数量为p,则额外开销应如何计算?
A.T'-T
B.T-T'
C.pT
D.pT-T'
正确答案:-----
37.使用____无法直接实现“主线程等待4个从线程完成任务”。
正确答案:-----
A.1个信号量
B.障碍
C.1个互斥量
D.4个互斥量
正确答案:-----
38.指定线程间划分循环策略的OpenMP子句是____。
A.shared
B.reduction
正确答案:-----
C.schedule
正确答案:-----
D.nowait
正确答案:-----
39.下列哪项不是这门课程的目标?
A.学会肯定能优化程序性能的方法
B.学会用并行思维思考问题
C.学会常用的并行编程工具
D.理解软件到并行架构的映射
正确答案:-----
40.下面哪个问题相对而言更不适合进行数据并行____。
A.求和
B.排序
C.向量加法
D.矩阵乘法
正确答案:-----
41.下面哪种架构最适合数据并行____。
A.SISD
B.SIMD
C.MISD
D.MIMD
42.为防止编译器不支持OpenMP,应使用____实现OpenMP代码和普通代码的条件编译。
A."#include "
正确答案:-----
B."#pragma omp parallel"
C."#ifdef _OPENMP"
正确答案:-----
D."#define _OPENMP"
正确答案:-----
43.在编写使用n个线程进行n个数求和的OpenMP的程序时采用临界区技术,则多线程版本____串行版本。
A.肯定快于
B.肯定慢于
C.可能快于
D.以上皆错
44.SSE intrinsics _mm_store_ss命令的功能是____。
A.对齐向量存单精度浮点数
B.未对齐向量存双精度浮点数
C.对齐标量存单精度浮点数
D.未对齐标量存双精度浮点数
正确答案:-----
45.MPI基本原语不包括____。
A.MPI_Barrier
B.MPI_Comm_rank
C.MPI_Comm_size
D.MPI_Init
正确答案:-----
46.一个AVX寄存器最多存放____个整型数。
A.2
B.4
C.8
D.16
47.在使用信号量之前必须对其进行____。
A.初始化
B.加锁
C.加1
D.销毁
正确答案:-----
48.主线程通过____函数获取特定线程的返回结果。
A.pthread_create
正确答案:-----
B.pthread_join
正确答案:-----
C.pthread_cancel
正确答案:-----
D.pthread_get
正确答案:-----
49.静态任务划分相对于动态任务划分的优点是____。
A.确保负载均衡
B.任务粒度细
C.计算复杂度低
D.并行效率高
正确答案:-----
50.当问题规模不变时,随着处理器数量增大,效率降低的性质对____成立。
A.部分并行算法
B.代价最优并行算法
C.所有并行算法
D.以上皆错
南开2021学期(1709、2103、2109、1903、1909、2003、2009、2103)《并行程序设计》在线作业【答案】奥鹏作业标准满分答案
20秋学期(1709、1803、1809、1903、1909、2003、2009 )《并行程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.CUDA寄存器是由____。
A.Grid中所有线程共享
B.一个Block中所有线程共享
C.一个Warp中所有线程共享
D.每个线程独享
2.SIMD并行化时遇到对齐问题,高效的处理方法是____。
A.直接使用SIMD不对齐访存指令
B.将数据拷贝到对齐的内存地址
C.重写算法保证对齐访问
D.串行处理到对齐边界,然后进行SIMD对齐访存
3.使用一个信号量实现“主线程等待4个从线程完成任务”,信号量初始值应设置为____。
A.0
B.1
C.2
D.4
4.对这样的循环for (i=0; i<100; i+=1) A[i+0] = A[i+0] + B[i+0]; 进行向量化,基本技术手段是____。
A.循环划分
B.循环消除
C.循环展开
D.以上皆错
5.OpenMP能实现的是____。
A.避免数据竞争
B.提供任务划分策略
C.确保加速
D.确保降低通信开销
6.MPI_Send和MPI_recv是通过____区分消息。
A.端口号
B.消息名
C.消息标签
D.消息哈希
7.伸缩性的含义不包括____。
A.硬件能升级扩展
B.扩大系统规模构造成本增长不快
C.程序在新硬件下仍能高效运行
D.程序在更大规模系统下仍能高效运行
8.在下面问题中,SIMD并行更适合____。
A.搜索
B.排序
C.矩阵乘法
D.构建二叉排序树
9.以下超级计算机中,____不是SIMD架构。
A.CDCSTAR-100
B.757
C.银河
D.天河1号
10.对于效率E,下面描述错误的是____。
A.理想并行E=1
B.总是在0~1之间
C.可能>1
D.可能随着处理器数量增大趋向于0
11.SSE intrinsics _mm_store_sd命令的功能是____。
A.对齐向量存单精度浮点数
B.未对齐向量存单精度浮点数
C.对齐标量存双精度浮点数
D.未对齐标量存双精度浮点数
12.和一对多广播对应的组通信操作是____。
A.多对一收集
B.多对多收集
C.多对一归约
D.多对多归约
13.对一个串行程序进行SIMD并行化,应重点考虑的程序部分是____。
A.声明语句
B.条件分支语句
C.循环语句
D.输入输出语句
14.若SIMD并行化时遇到对齐问题,下列说法正确的是____。
A.只能使用不对齐访存指令
B.不能进行SIMD并行化
C.对齐开销可能完全抵消SIMD并行收益
D.以上皆错
15.使用____无法直接实现“主线程唤醒4个从线程去执行任务”。
A.1个信号量
B.障碍
C.1个互斥量
D.4个互斥量
16.在使用条件变量时,还需配套使用一个____。
A.互斥量
B.信号量
C.障碍
D.自旋锁
17.OpenMP中指定单线程执行的指令是____。
A.omp atomic
B.omp only
C.omp static
D.omp single
18.在条件成立时使用pthread_cond_signal____。
A.唤醒等待线程
B.解锁互斥量
C.加锁互斥量
D.唤醒等待线程,该线程重新加锁互斥量
19.MPI收发各一条消息的API是_____。
A.MPI_Sendrecv
B.MPI_Send
C.MPI_Recv
D.MPI_Replace
20.OpenMP循环划分策略不包括____。
A.static
B.fixed
C.dynamic
D.guided
21.第一款桌面多核CPU是____发布的。
A.Intel
B.AMD
C.IBM
D.SUN
22.pthread_join的作用是____。
A.强制终止指定线程
B.检测指定线程是否结束
C.等待指定线程结束才返回
D.向指定线程发送数据
23.静态线程编程模式的缺点是____。
A.线程管理开销高
B.系统资源利用率低
C.线程负载不均
D.线程通信开销高
24.控制流语句进行SIMD并行化很困难的原因是控制流语句导致____。
A.连续数据执行不同指令
B.连续数据执行相同指令
C.同一数据执行不同指令
D.同一数据执行相同指令
25.OpenMP循环并行指令是____。
A.omp parallel
B.omp single
C.omp parallel for
D.omp master
26.任务依赖图中顶点权重之和表示____。
A.任务数
B.任务难度
C.串行执行时间
D.并行执行时间
27.OpenMP主要是通过____来更高层抽象的多线程编程。
A.设计实现ABC语言
B.为现有语言提供大量库函数
C.为现有语言扩展编译指示
D.新编译器实现自动并行化
28.MPI默认点对点通信模式是____。
A.阻塞的
B.非阻塞的
C.对等的
D.主从的
29.下面说法错误的是____。
A.不存在权威的并行体系结构
B.学习并行程序设计只关心软件即可
C.并行体系结构对性能有巨大影响
D.很多并行体系结构未来发展不明了
30.关于OpenMP程序中的并行结构,以下说法正确的是____。
A.其结束时需程序员人为添加同步
B.其结束时OpenMP已默认添加隐式障碍
C.其结束时完全不需要同步
D.其结束时必须进行同步
31.GPU相对于其他众核产品的优势不包括____。
A.平台普及
B.有CUDA这样易学的开发工具
C.性价比高
D.由英伟达公司一家把控
32.MPI的通信是____。
A.无类型传输
B.弱类型传输
C.强类型传输
D.以上皆错
33.对单精度浮点计算,MMX最高实现____路并行。
A.2
B.4
C.8
D.16
34.n个数求和的问题,使用n个处理器的并行算法达到了logn的运行时间,则算法____。
A.肯定不是代价最优
B.肯定是代价最优
C.不确定是否代价最优
D.以上皆错
35.OpenMP是___的一个常见替代。
A.SSE
B.MPI
C.Pthread
D.CUDA
36.n个节点的超立方构造成本为____。
A.O(logn)
B.O(sqrt(n))
C.O(n)
D.O(nlogn)
37.Pthread是_____线程接口标准。
A.Linux
B.POSIX
C.Windows
D.IOS
38.一个AVX寄存器最多存放____个整型数。
A.2
B.4
C.8
D.16
39.新一代GPU重点提供的新特性不包括____。
A.新型高速显存
B.GPU间直接高速互联
C.自动并行化
D.人工智能计算专门优化
40.编写矩阵乘法的SSE程序,若矩阵元素为双精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A.2
B.4
C.8
D.16
41.在使用互斥量之后必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
42.对于多线程各自进行本地运算,然后由主线程汇总结果的模式,下面说法正确的是____。
A.在同构核心上,线程运行速度一样,主线程无需等待,直接汇总结果即可
B.线程运行速度可能不一致,必须采用同步保证主线程汇总正确结果
C.太多本地运算,不能体现并行效果,不是好的模式
D.主线程汇总结果在性能上必然不如多线程并行汇总结果
43.在下面问题中,SIMD并行最不适合____。
A.向量加法
B.向量中元素排序
C.矩阵向量乘法
D.矩阵加法
44.忙等待方法解决竞争条件的思路是____。
A.令CPU一直处于忙碌状态无法产生竞争条件
B.令存在数据依赖的内存操作充分并行
C.强制多线程进入临界区的顺序来将存在数据依赖内存操作串行化
D.以上皆错
45.OpenMP中多线程间是一种____关系。
A.主从
B.分组
C.对等
D.竞争
46.SSE的shuffle指令的8位二进制整数参数被划分为4个2位二进制整数imm8[0:3],若imm8[1]=j则表示___。
A.将第一个源寄存器的第j个元素放在目标寄存器位置1
B.将第二个源寄存器的第j个元素放在目标寄存器位置1
C.将第一个源寄存器的第1个元素放在目标寄存器位置1
D.将第二个源寄存器的第1个元素放在目标寄存器位置1