21秋学期(1909、2003、2009、2103、2109)《并行程序设计》在线作业【标准答案】

可做奥鹏全部院校在线离线作业毕业论文QQ:3230981406 微信:aopopenfd777

发布时间:2022-01-07 19:18:44来源:admin浏览: 72 次

需要答案请加QQ:3230981406 微信:aopopenfd777

可做奥鹏全部院校在线作业、离线作业、毕业论文


21秋学期(1709、1803、1809、1903、1909、2003、2009、2103、2109)《并行程序设计》在线作业

试卷总分:100  得分:100

一、单选题 (共 50 道试题,共 100 分)

1.两个矩阵相乘,若矩阵规模大于cache大小,则优化访存的可行方法是____。

A.先将两个矩阵读入cache再进行乘法

B.先转置第一个矩阵再进行乘法

C.先转置第二个矩阵再进行乘法

D.以上皆错

答案:C


2.若SIMD并行化时遇到对齐问题,下列说法正确的是____。

A.只能使用不对齐访存指令

B.不能进行SIMD并行化

C.对齐开销可能完全抵消SIMD并行收益

D.以上皆错

答案:C


3.OpenMP不能实现的是____。

A.负责创建和管理线程

B.隐藏栈管理

C.提供同步机制

D.自动并行化

答案:D


4.MPI_Send和MPI_recv是通过____区分消息。

A.端口号

B.消息名

C.消息标签

D.消息哈希

答案:C


5.为了充分利用CPU内的多条流水线,程序应满足____。

A.相邻指令无依赖性

B.相邻指令相互依赖

C.整段程序中指令无依赖性

D.整段程序中指令相互依赖

答案:A


6.使用____无法直接实现“主线程等待4个从线程完成任务”。

A.1个信号量

B.障碍

C.1个互斥量

D.4个互斥量


7.主线程创建了4个从线程,对它们执行pthread_join,然后打印一条信息,从线程打印各自的线程号,未使用任何同步,则主线程打印的消息和从线程打印的线程号的相对顺序____。

A.必然主线程前、从线程后

B.必然从线程前、主线程后

C.必然相互交织

D.各种顺序皆有可能


8.对下面程序,说法正确的是 # pragma omp parallel for num_threads(thread_count) \ reduction(+:sum) for (k = 1; k <= n; k++) { sum += factor/(2*k-1); factor = -factor; }

A.破坏了数据依赖

B.未破坏数据依赖

C.取决于变量声明

D.比临界区方式性能差


9.以下超级计算机中,____不是SIMD架构。

A.CDCSTAR-100

B.757

C.银河

D.天河1号


10.在使用互斥量之前必须对其进行____。

A.初始化

B.加锁

C.解锁

D.销毁


11.一个Neon寄存器最多存放____个短整型数。

A.2

B.4

C.8

D.16


12.在使用信号量之后必须对其进行____。

A.初始化

B.解锁

C.减1

D.销毁


13.n个数求和的串行程序,通过一个循环将每个数累加到全局变量sum中,其多线程版本简单将循环范围改变为每个线程负载的范围,存在的问题是____。

A.负载不均

B.通信开销大

C.CPU空闲等待严重

D.sum累加产生竞争条件,导致结果错误


14.用pthread_barrier_init初始化障碍,应提供的参数不包括____。

A.障碍对象

B.障碍初值

C.障碍属性

D.参与的线程数


15.Flynn分类法中,下面哪种体系结构非常适合向量/矩阵计算的并行化?

A.SISD

B.SIMD

C.MISD

D.MIMD


16.SSE intrinsics _mm_add_ps命令的功能是____。

A.寄存器间单精度浮点数向量加法

B.寄存器间双精度浮点数向量加法

C.寄存器内单精度浮点数加法

D.寄存器内双精度浮点数加法


17.采用搜索分解设计15数码问题的并行算法,不包含下面哪个步骤____。

A.串行生成一定规模的搜索树

B.当前每个叶结点为根的子树搜索分配给一个处理器

C.发现解的处理器通知其他处理器

D.将所有处理器的结果组合成最终解


18.在用pthread_mutex_lock对互斥量进行加锁时,若其已上锁,则线程进入____状态。

A.初始化

B.阻塞

C.继续执行

D.销毁


19.对于多线程各自进行本地运算,然后由主线程汇总结果的模式,下面说法正确的是____。

A.在同构核心上,线程运行速度一样,主线程无需等待,直接汇总结果即可

B.线程运行速度可能不一致,必须采用同步保证主线程汇总正确结果

C.太多本地运算,不能体现并行效果,不是好的模式

D.主线程汇总结果在性能上必然不如多线程并行汇总结果


20.SSE intrinsics _mm_hadd_ps命令的功能是____。

A.寄存器间单精度浮点数向量加法

B.寄存器间双精度浮点数向量加法

C.寄存器内单精度浮点数加法

D.寄存器内双精度浮点数加法


21.OpenMP程序和Pthread程序中线程获得自身编号的方式分别是____。

A.两者均为创建线程时传递参数

B.两者均通过特定API

C.前者创建线程时传递参数,后者通过特定API

D.前者通过特定API,后者创建线程时传递参数


22.对单精度浮点数矩阵乘法程序进行SSE并行化,预期加速比为____。

A.等于8

B.4到8之间

C.等于4

D.小于4


23.对单精度浮点计算,MMX最高实现____路并行。

A.2

B.4

C.8

D.16


24.OpenMP编译指示的作用范围是____。

A.其后一个语句

B.其后连续语句

C.其后直到函数结束

D.整个函数


25.SIMD并行化相对于串行执行的额外开销不包括____。

A.数据打包/解包

B.数据传输

C.数据对齐

D.控制流


26.pthread_rwlock_rdlock是对读写锁进行____操作。

A.加锁

B.解锁

C.加读琐

D.加写锁


27.使用一个信号量实现“主线程等待4个从线程完成任务”,信号量初始值应设置为____。

A.0

B.1

C.2

D.4


28.数据依赖是指必须保持两个内存操作的____才能保证程序结果正确。

A.大小

B.时序

C.时长

D.cache局部性


29.在条件成立时使用pthread_cond_signal____。

A.唤醒等待线程

B.解锁互斥量

C.加锁互斥量

D.唤醒等待线程,该线程重新加锁互斥量


30.主线程要求从线程退出应采用____。

A.pthread_create

B.pthread_exit

C.pthread_quit

D.pthread_cancel


31.如果运算结果要保存到独立无关的变量,则在向量运算之后需要进行的一个操作是____。

A.对齐

B.打包

C.解包

D.以上皆错


32.当前CPU性能提升已从依赖时钟频率提升转为更多依赖____。

A.多核和众核技术

B.突破物理局限

C.改善散热

D.采用新材料


33.在使用条件变量之前必须对其进行____。

A.初始化

B.加锁

C.解锁

D.销毁


34.在SSE intrinsics程序中单精度浮点数数据类型是____。

A.__m128

B.__m128f

C.__m128d

D.__m128i


35.将t个线程的局部结果汇总,可采用递归分解并行进行,即,两两汇总,中间结果继续两两汇总,直到剩下唯一的最终结果,其时间复杂度为____。

A.Θ(1)

B.Θ(logt)

C.Θ(t)

D.Θ(tlogt)


36.对划分输入数据的策略,下面说法错误的是____。

A.当输出数据很少时,需划分输入数据

B.当输出数据存在依赖时,需划分输入数据

C.通常最后需要汇总结果

D.由于不是直接划分输出数据,性能会很差


37.推动GPU应用于通用高性能计算爆发式增长的开发工具是____。

A.OpenGL

B.OpenCL

C.DirectX

D.CUDA


38.两个矩阵相乘前将第二个矩阵转置,是使用利用数据访问的_____达到更高的cache命中率。

A.时间局部性

B.空间局部性

C.计算局部性

D.混合局部性


39.如果运算对象是独立无关的变量,则在向量运算之前需____。

A.将变量拷贝到连续区域

B.将变量地址拷贝到连续区域

C.将变量逐个传输到向量寄存器

D.以上皆错


40.对同一个问题的两个任务依赖图G1和G2,以下哪个条件不能表明G1优于G2____。

A.G1顶点权重之和小于G2

B.G1平均并发度大于G2

C.G1关键路径长度小于G2

D.G1顶点权重之和除以关键路径长度大于G2


41.OpenMP编译指示是以____开头的。

A."#include"

B."#ifdef"

C."#pragam"

D."#else"


42.除了用于解决竞争条件外,互斥量还可用于____。

A.解决共享资源竞争的问题

B.解决并发度低的问题

C.解决通信开销大的问题

D.解决负载不均的问题


43.SSE的shuffle指令的8位二进制整数参数被划分为4个2位二进制整数imm8[0:3],若imm8[2]=j则表示___。

A.将第一个源寄存器的第j个元素放在目标寄存器位置2

B.将第二个源寄存器的第j个元素放在目标寄存器位置2

C.将第一个源寄存器的第2个元素放在目标寄存器位置2

D.将第二个源寄存器的第2个元素放在目标寄存器位置2


44.任务依赖图中顶点权重之和表示____。

A.任务数

B.任务难度

C.串行执行时间

D.并行执行时间


45.指定线程间划分循环策略的OpenMP子句是____。

A.shared

B.reduction

C.schedule

D.nowait


46.超立方中相邻节点二进制编号____。

A.至少差1位

B.至多差1位

C.恰好差1位

D.差异不固定


47.对矩阵乘法进行多线程并行化,对矩阵采用____。

A.简单均匀块划分即可保证负载均衡

B.循环划分才能实现负载均衡

C.动态划分才能实现负载均衡

D.随机划分才能实现负载均衡


48.下面哪种架构最适合数据并行____。

A.SISD

B.SIMD

C.MISD

D.MIMD


49.对于搜索分解,下面哪个说法是错误的_____。

A.所有子树搜索任务都必须全部完成

B.工作量可能大于串行计算

C.工作量可能小于串行计算

D.可能产生超线性加速比


50.静态任务划分相对于动态任务划分的缺点是____。

A.可能导致负载不均

B.通信开销高

C.计算复复杂度高

D.任务粒度粗



作业咨询 论文咨询
微信客服扫一扫

回到顶部