1、南开大学21秋并行程序设计在线作业一答案参考1. 1) R=XR*1.3;G=XG*1.8;B=XB*1.1; 2) R=X0*1.3;G=X1*1.8;B=X2*1.1;这两个程序片段哪个进行向量化效率更高?( )1) R=XR*1.3;G=XG*1.8;B=XB*1.1; 2) R=X0*1.3;G=X1*1.8;B=X2*1.1;这两个程序片段哪个进行向量化效率更高?( )A.1B.2C.不确定D.以上皆错参考答案:B2. 以下( )是MPI基本原语。A.MPI_barrierB.MPI_Comm_numprocsC.MPI_Comm_rankD.MPI_Comm_Send参考答案:C3
2、 SSE intrinsics _mm_store_ss命令的功能是_。A.对齐向量存单精度浮点数B.未对齐向量存双精度浮点数C.对齐标量存单精度浮点数D.未对齐标量存双精度浮点数参考答案:C4. 全球500强超算在操作系统上越来越体现出_一家独大的趋势。A.UnixB.WindowsC.LinuxD.ios参考答案:C5. OpenMP循环并行指令是_。OpenMP循环并行指令是_。A.omp parallelB.omp singleC.omp parallel forD.omp master参考答案:C6. 静态线程编程模式的缺点是( )。A.线程管理开销高B.系统资源利用率低C.线程负
3、载不均D.线程通信开销高参考答案:B7. 若SIMD并行化时遇到对齐问题,下列说法正确的是( )。A.只能使用不对齐访存指令B.不能进行SIMD并行化C.对齐开销可能完全抵消SIMD并行收益D.以上皆错参考答案:C8. pthread_create函数中线程函数指针的正确类型是( )。A.void(void*)B.void*(void*)C.int(void)D.void*(*)(void*)参考答案:D9. OpenMP循环并行指令是( )。A.omp parallelB.omp singleC.omp parallel forD.omp master参考答案:C10. 创建线程时,我们通过
4、 )将线程号分别传递给每个线程。A.全局变量B.局部变量C.动态分配变量D.pthread_create的“线程函数参数”参数参考答案:D11. n个节点的超立方构造成本为( )。A.OlognB.OsqrtnC.OnD.Onlogn参考答案:D12. OpenMP中指定单线程执行的指令是( )。A.omp atomicB.omp onlyC.omp staticD.omp single参考答案:D13. 编写矩阵乘法的SSE程序,若矩阵元素为双精度浮点数,则应对矩阵乘加计算的循环进行( )路循环展开。A.2B.4C.8D.16参考答案:A14. n个数求和的问题,使用n个处理器的并行算法达
5、到了logn的运行时间,则算法( )。A.肯定不是代价最优B.肯定是代价最优C.不确定是否代价最优D.以上皆错参考答案:A15. 编译器编译OpenMP并行循环时,会自动生成一些代码,其中不包括( )。A.创建和管理线程代码B.循环划分给线程的代码C.找出数据依赖的代码D.线程同步的代码参考答案:C16. 在使用信号量之前必须对其进行_。在使用信号量之前必须对其进行_。A.初始化B.加锁C.加1D.销毁参考答案:A17. 主线程要求从线程退出应采用_。主线程要求从线程退出应采用_。A.pthread_createB.pthread_exitC.pthread_quitD.pthread_can
6、cel参考答案:D18. 在条件不成立时,使用pthread_cond_wait_。在条件不成立时,使用pthread_cond_wait_。A.令线程阻塞B.解锁互斥量C.解锁互斥量然后令线程阻塞D.加锁互斥量参考答案:C19. 对一个串行程序进行SIMD并行化,应重点考虑的程序部分是( )。A.声明语句B.条件分支语句C.循环语句D.输入输出语句参考答案:C20. 对矩阵每行排序的程序进行多线程并行化,对矩阵采用_。A.简单均匀块划分即可保证负载均衡B.循环划分才能实现负载均衡C.动态划分才能实现负载均衡D.随机划分才能实现负载均衡参考答案:C21. 在使用互斥量之后必须对其进行( )。A
7、初始化B.加锁C.解锁D.销毁参考答案:D22. 将起泡排序程序改写为奇偶转置排序,关于其两层循环是否存在数据依赖,下面说法正确的是( )。A.外层存在,内层不存在B.外层不存在,内层存在C.两层都不存在D.两层都存在参考答案:A23. 对于效率E,下面描述错误的是( )。A.理想并行E=1B.总是在01之间C.可能1D.可能随着处理器数量增大趋向于0参考答案:B24. MPI基本原语不包括_。A.MPI_BarrierB.MPI_Comm_rankC.MPI_Comm_sizeD.MPI_Init参考答案:A25. for (i=2; iA.存在B.不存在C.不确定D.以上皆错参考答案:A
8、26. 为了充分利用CPU内的多条流水线,程序应满足_。为了充分利用CPU内的多条流水线,程序应满足_。A.相邻指令无依赖性B.相邻指令相互依赖C.整段程序中指令无依赖性D.整段程序中指令相互依赖参考答案:A27. OpenMP编译指示的作用范围是( )。A.其后一个语句B.其后连续语句C.其后直到函数结束D.整个函数参考答案:A28. Pthread不支持( )。A.创建并发执行线程B.同步C.非显式通信D.自动并行化参考答案:D29. 静态线程编程模式的缺点是_。静态线程编程模式的缺点是_。A.线程管理开销高B.系统资源利用率低C.线程负载不均D.线程通信开销高参考答案:B30. MMX有
9、个专用寄存器。MMX有_个专用寄存器。A.4B.8C.16D.32参考答案:B31. n个数求和的问题,使用n个处理器的并行算法达到了logn的运行时间,则算法_。n个数求和的问题,使用n个处理器的并行算法达到了logn的运行时间,则算法_。A.肯定不是代价最优B.肯定是代价最优C.不确定是否代价最优D.以上皆错参考答案:A32. 指定线程间划分循环策略的OpenMP子句是_。A.sharedB.reductionC.scheduleD.nowait参考答案:C33. 在下面问题中,SIMD并行更适合( )。A.搜索B.排序C.矩阵乘法D.构建二叉排序树参考答案:C34. 新一代GPU重点提
10、供的新特性不包括( )。A.新型高速显存B.GPU间直接高速互联C.自动并行化D.人工智能计算专门优化参考答案:C35. 以下超级计算机中,( )不是SIMD架构。A.CDCSTAR-100B.757C.银河D.天河1号参考答案:D36. OpenMP主要是通过( )来更高层抽象的多线程编程。A.设计实现新的语言B.为现有语言提供大量库函数C.为现有语言扩展编译指示D.新编译器实现自动并行化参考答案:C37. 采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1行的优点是_。采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行
11、作为一个任务相对于每次发送1行的优点是_。A.更有利于负载均衡B.减少了通信开销C.降低了计算次数D.减少了从进程空闲参考答案:B38. SSE intrinsics_mm_loadu_ps命令的功能是( )。A.对齐向量读取单精度浮点数B.未对齐向量读取单精度浮点数C.对齐向量读取双精度浮点数D.未对齐向量读取双精度浮点数参考答案:B39. 当处理器数量不变时,随着问题规模增大,加速比_。当处理器数量不变时,随着问题规模增大,加速比_。A.所有算法都增大B.所有算法都减小C.代价最优算法都增大D.代价最优算法都减小参考答案:C40. 如果运算对象是独立无关的变量,则在向量运算之前需_。A.将
12、变量拷贝到连续区域B.将变量地址拷贝到连续区域C.将变量逐个传输到向量寄存器D.以上皆错参考答案:A41. 和一对多广播对应的组通信操作是( )。A.多对一收集B.多对多收集C.多对一归约D.多对多归约参考答案:C42. _执行pthread_sem_wait操作,线程进入阻塞状态。A.当信号量已加锁时B.当信号量为0时C.当信号量已超过阈值时D.当信号量已销毁时参考答案:B43. 对奇偶转置排序进行OpenMP并行化,第一种策略是直接对内层循环使用omp parallel for指令,第二种策略是对外层循环使用omp parallel指令,对内层循环使用omp for指令,后者相对于前者的优
13、点是_。A.保持了数据依赖B.消除了大量线程创建、销毁开销C.有利于负载均衡D.减少了线程间交互参考答案:B44. 一个SSE寄存器可容纳( )个短整型数。A.2B.4C.8D.16参考答案:C45. Flynn分类法中,下面哪种体系结构在实际中几乎没有意义?( )A.SISDB.SIMDC.MISDD.MIMD参考答案:C46. 我国最早夺得全球超级计算机计算能力冠军的是( )。A.天河1号B.天河1AC.天河2号D.神威.太湖之光参考答案:B47. 我国最近一次夺得全球超级计算机计算能力冠军的是_。我国最近一次夺得全球超级计算机计算能力冠军的是_。A.天河1号B.天河1AC.天河2号D.神
14、威太湖之光参考答案:D48. 循环需满足特定条件才能进行OpenMP并行化,下列哪个条件是错误的?( )A.循环变量应为带符号整数B.终止检测必须是与循环不变量的比较C.循环变量每步递增/递减一个循环不变量D.循环体无进/出控制流参考答案:B49. 对单精度浮点计算,AVX最高实现( )路并行。A.2B.4C.8D.16参考答案:C50. 对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,还需进行SIMD寄存器中几个元素的_操作才能得到结果矩阵的一个元素。对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,还需进行SIMD寄存器中几个元素的_操作才
15、能得到结果矩阵的一个元素。A.排列B.交换C.广播D.归约参考答案:D51. 在使用条件变量之后必须对其进行_。在使用条件变量之后必须对其进行_。A.初始化B.加锁C.解锁D.销毁参考答案:D52. FORTRAN语言存储二维数组采取_。FORTRAN语言存储二维数组采取_。A.行主次序存储B.列主次序存储C.交错式存储D.对角线存储参考答案:B53. pthread_rwlock_wrlock是对读写锁进行_操作。pthread_rwlock_wrlock是对读写锁进行_操作。A.加锁B.解锁C.加读琐D.加写锁参考答案:D54. 单程序多数据流模式是针对_架构的。A.SISDB.SIMDC
16、MISDD.MIMD参考答案:D55. 并行计算还主要用于国防、工程研究等领域,这种说法是_。A.正确的B.错误的参考答案:B56. 在使用条件变量之前必须对其进行_。在使用条件变量之前必须对其进行_。A.初始化B.加锁C.解锁D.销毁参考答案:A57. OpenMP归约指令采用的是一种_算法。A.分治B.贪心C.动态规划D.排序参考答案:A58. 将t个线程的局部结果汇总,可采用递归分解并行进行,即,两两汇总,中间结果继续两两汇总,直到剩下唯一的最终结果,其时间复杂度为( )。A.(1)B.(logt)C.(t)D.(tlogt)参考答案:B59. CPU cache大小为32KB,64*64的两个矩阵进行加法计算,下面说法正确的是_。CPU cache大小为32KB,64*64的两个矩阵进行加法计算,下面说法正确的是_。A.可利用cache时间局部性优化性能B.可利用cache空间局部性优化性能C.可通过矩阵分片优化性能D.访存方面无优化可能参考答案:B60. 在SSE intrinsics程序中双精度浮点数数据类型是( )。A._m128B._m128fC._m128dD._m128i参考答案:C