南开大学21秋学期《并行程序设计》在线作业.docx

上传人:b****5 文档编号:28784868 上传时间:2023-07-19 格式:DOCX 页数:8 大小:19.89KB
下载 相关 举报
南开大学21秋学期《并行程序设计》在线作业.docx_第1页
第1页 / 共8页
南开大学21秋学期《并行程序设计》在线作业.docx_第2页
第2页 / 共8页
南开大学21秋学期《并行程序设计》在线作业.docx_第3页
第3页 / 共8页
南开大学21秋学期《并行程序设计》在线作业.docx_第4页
第4页 / 共8页
南开大学21秋学期《并行程序设计》在线作业.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

南开大学21秋学期《并行程序设计》在线作业.docx

《南开大学21秋学期《并行程序设计》在线作业.docx》由会员分享,可在线阅读,更多相关《南开大学21秋学期《并行程序设计》在线作业.docx(8页珍藏版)》请在冰豆网上搜索。

南开大学21秋学期《并行程序设计》在线作业.docx

南开大学21秋学期《并行程序设计》在线作业

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个互斥量  

【参考答案】:

C

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

A.必然主线程前、从线程后  B.必然从线程前、主线程后  C.必然相互交织  D.各种顺序皆有可能  

【参考答案】:

B

8.对下面程序,说法正确的是#pragmaompparallelfornum_threads(thread_count)\reduction(+:

sum)for(k=1;k<=n;k++){sum+=factor/(2*k-1);factor=-factor;}

A.破坏了数据依赖  B.未破坏数据依赖  C.取决于变量声明  D.比临界区方式性能差  

【参考答案】:

A

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

A.CDCSTAR-100  B.757  C.银河  D.天河1号  

【参考答案】:

D

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

A.初始化  B.加锁  C.解锁  D.销毁  

【参考答案】:

A

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

A.2  B.4  C.8  D.16  

【参考答案】:

C

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

A.初始化  B.解锁  C.减1  D.销毁  

【参考答案】:

D

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

A.负载不均  B.通信开销大  C.CPU空闲等待严重  D.sum累加产生竞争条件,导致结果错误  

【参考答案】:

D

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

A.障碍对象  B.障碍初值  C.障碍属性  D.参与的线程数  

【参考答案】:

B

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

A.SISD  B.SIMD  C.MISD  D.MIMD  

【参考答案】:

B

16.SSEintrinsics_mm_add_ps命令的功能是____。

A.寄存器间单精度浮点数向量加法  B.寄存器间双精度浮点数向量加法  C.寄存器内单精度浮点数加法  D.寄存器内双精度浮点数加法  

【参考答案】:

A

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

A.串行生成一定规模的搜索树  B.当前每个叶结点为根的子树搜索分配给一个处理器  C.发现解的处理器通知其他处理器  D.将所有处理器的结果组合成最终解  

【参考答案】:

D

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

A.初始化  B.阻塞  C.继续执行  D.销毁  

【参考答案】:

B

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

A.在同构核心上,线程运行速度一样,主线程无需等待,直接汇总结果即可  B.线程运行速度可能不一致,必须采用同步保证主线程汇总正确结果  C.太多本地运算,不能体现并行效果,不是好的模式  D.主线程汇总结果在性能上必然不如多线程并行汇总结果  

【参考答案】:

B

20.SSEintrinsics_mm_hadd_ps命令的功能是____。

A.寄存器间单精度浮点数向量加法  B.寄存器间双精度浮点数向量加法  C.寄存器内单精度浮点数加法  D.寄存器内双精度浮点数加法  

【参考答案】:

C

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

A.两者均为创建线程时传递参数  B.两者均通过特定API  C.前者创建线程时传递参数,后者通过特定API  D.前者通过特定API,后者创建线程时传递参数  

【参考答案】:

D

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

A.等于8  B.4到8之间  C.等于4  D.小于4  

【参考答案】:

D

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

A.2  B.4  C.8  D.16  

【参考答案】:

A

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

A.其后一个语句  B.其后连续语句  C.其后直到函数结束  D.整个函数  

【参考答案】:

A

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

A.数据打包/解包  B.数据传输  C.数据对齐  D.控制流  

【参考答案】:

B

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

A.加锁  B.解锁  C.加读琐  D.加写锁  

【参考答案】:

C

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

A.0  B.1  C.2  D.4  

【参考答案】:

A

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

A.大小  B.时序  C.时长  D.cache局部性  

【参考答案】:

B

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

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

【参考答案】:

D

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

A.pthread_create  B.pthread_exit  C.pthread_quit  D.pthread_cancel  

【参考答案】:

D

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

A.对齐  B.打包  C.解包  D.以上皆错  

【参考答案】:

C

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

A.多核和众核技术  B.突破物理局限  C.改善散热  D.采用新材料  

【参考答案】:

A

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

A.初始化  B.加锁  C.解锁  D.销毁  

【参考答案】:

A

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

A.__m128  B.__m128f  C.__m128d  D.__m128i  

【参考答案】:

A

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

A.Θ

(1)  B.Θ(logt)  C.Θ(t)  D.Θ(tlogt)  

【参考答案】:

B

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

A.当输出数据很少时,需划分输入数据  B.当输出数据存在依赖时,需划分输入数据  C.通常最后需要汇总结果  D.由于不是直接划分输出数据,性能会很差  

【参考答案】:

D

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

A.OpenGL  B.OpenCL  C.DirectX  D.CUDA  

【参考答案】:

D

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

A.时间局部性  B.空间局部性  C.计算局部性  D.混合局部性  

【参考答案】:

B

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

A.将变量拷贝到连续区域  B.将变量地址拷贝到连续区域  C.将变量逐个传输到向量寄存器  D.以上皆错  

【参考答案】:

A

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

A.G1顶点权重之和小于G2  B.G1平均并发度大于G2  C.G1关键路径长度小于G2  D.G1顶点权重之和除以关键路径长度大于G2  

【参考答案】:

A

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

A."#include"  B."#ifdef"  C."#pragam"  D."#else"  

【参考答案】:

C

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

A.解决共享资源竞争的问题  B.解决并发度低的问题  C.解决通信开销大的问题  D.解决负载不均的问题  

【参考答案】:

A

43.SSE的shuffle指令的8位二进制整数参数被划分为4个2位二进制整数imm8[0:

3],若imm8[2]=j则表示___。

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

【参考答案】:

B

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

A.任务数  B.任务难度  C.串行执行时间  D.并行执行时间  

【参考答案】:

C

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

A.shared  B.reduction  C.schedule  D.nowait  

【参考答案】:

C

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

A.至少差1位  B.至多差1位  C.恰好差1位  D.差异不固定  

【参考答案】:

C

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

A.简单均匀块划分即可保证负载均衡  B.循环划分才能实现负载均衡  C.动态划分才能实现负载均衡  D.随机划分才能实现负载均衡  

【参考答案】:

A

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

A.SISD  B.SIMD  C.MISD  D.MIMD  

【参考答案】:

B

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

A.所有子树搜索任务都必须全部完成  B.工作量可能大于串行计算  C.工作量可能小于串行计算  D.可能产生超线性加速比  

【参考答案】:

A

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

A.可能导致负载不均  B.通信开销高  C.计算复复杂度高  D.任务粒度粗  

【参考答案】:

A

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1