
南开大学21秋《并行程序设计》复习考核试题库答案参考套卷85.docx
12页南开大学21秋《并行程序设计》复习考核试题库答案参考1. 每个MMX寄存器宽度为____位每个MMX寄存器宽度为____位A.32B.64C.128D.256参考答案:B2. 对两个互斥量a、b,线程1执行lock(a);lock(b);,线程2执行lock(b);lock(a),则两个线程间会发生____对两个互斥量a、b,线程1执行lock(a);lock(b);,线程2执行lock(b);lock(a),则两个线程间会发生____A.竞争条件B.数据依赖C.资源泄漏D.死锁参考答案:D3. 对于并行程序设计,下面说法错误的是____对于并行程序设计,下面说法错误的是____A.天然具有复杂性B.算法移植困难C.软件开发标准环境发展相对之后D.不应发展这个方向参考答案:D4. for(i=0; ifor(i=0; iA.存在B.不存在C.不确定D.以上皆错参考答案:A5. 超立方中相邻节点二进制编号_____A.至少差1位B.至多差1位C.恰好差1位D.差异不固定参考答案:C6. pthread_join的第二个参数的作用是_____A.设置指定线程属性B.获取指定线程属性C.向指定线程传递参数D.获取指定线程函数返回结果参考答案:D7. OpenMP的缺点不包括_____。
A.常见并行结构的表达并不总可行B.局部性处理不易C.不易编写多核单核通用程序D.性能控制不易参考答案:C8. for (i=0;iA.可完全向量化B.不可向量化C.不确定D.可部分向量化参考答案:D9. OpenMP不能实现的是( )A.负责创建和管理线程B.隐藏栈管理C.提供同步机制D.自动并行化参考答案:D10. 下面哪种架构最适合数据并行?( )A.SISDB.SIMDC.MISDD.MIMD参考答案:B11. 采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1行的优点是____采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1行的优点是____A.更有利于负载均衡B.减少了通信开销C.降低了计算次数D.减少了从进程空闲参考答案:B12. MPI组通信操作不包括哪类____MPI组通信操作不包括哪类____A.通信B.同步C.点对点D.计算参考答案:C13. 全球500强超算在CPU、网络等硬件上越来越体现出采用( )的趋势A.特殊硬件B.通用硬件C.非公开硬件D.廉价硬件参考答案:B14. 单精度浮点数矩阵乘法进行AVX并行,期望的加速比为____.单精度浮点数矩阵乘法进行AVX并行,期望的加速比为____.A.等于8B.小于8C.4到8之间D.等于4参考答案:B15. 主线程创建了4个从线程然后打印一条信息,从线程打印各自的线程号,未使用任何同步,则主线程打印的消息和从线程打印的线程号的相对顺序_____。
A.必然主线程前、从线程后B.必然从线程前、主线程后C.必然相互交织D.各种顺序皆有可能参考答案:D16. MPI的通信是( )A.无类型传输B.弱类型传输C.强类型传输D.以上皆错参考答案:C17. pthread_create函数中设置一个参数为“线程函数参数”的原因是_____A.它调用线程函数时可直接传递,性能更优B.它需要预处理之后传递给线程函数C.线程函数不是用户程序调用,只能采用这种方式由系统代为传递参数D.没有特别用意参考答案:C18. SSE的blend指令的8位二进制整数参数被用做8个掩码imm8[0∶7],若imm8[j]=0则表示( )A.将第一个源寄存器的第j个元素放在目标寄存器位置0B.将第二个源寄存器的第j个元素放在目标寄存器位置0C.将第一个源寄存器的第j个元素放在目标寄存器位置jD.将第二个源寄存器的第j个元素放在目标寄存器位置j参考答案:C19. 对一个串行程序进行SIMD并行化,应重点考虑的程序部分是____对一个串行程序进行SIMD并行化,应重点考虑的程序部分是____A.声明语句B.条件分支语句C.循环语句D.输入输出语句参考答案:C20. 多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是( )多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是( )A.读取x存在数据依赖,不能并发进行B.累加顺序被改变,结果是错误的C.加法操作是简单运算,无需同步D.加法操作不是原子操作,需要同步保证数据依赖参考答案:D21. Flynn分类法中,下面哪种体系结构在实际中几乎没有意义?( )A.SISDB.SIMDC.MISDD.MIMD参考答案:C22. 以下哪条不是推动并行计算发展的因素?( )以下哪条不是推动并行计算发展的因素?( )A.存储是系统瓶颈B.单CPU发展已能满足应用需求C.利用标准硬件构造并行机令升级容易D.编程环境标准化逐步发展参考答案:B23. R*=1.3; G+=1.8; B+=1.2; X*=1.1,此程序片段可进行SIMD并行化吗?( )A.不可以B.可以C.不确定D.以上皆错参考答案:A24. 编写矩阵乘法的SSE程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
编写矩阵乘法的SSE程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开A.2B.4C.8D.16参考答案:B25. FORTRAN语言存储二维数组采取____FORTRAN语言存储二维数组采取____A.行主次序存储B.列主次序存储C.交错式存储D.对角线存储参考答案:B26. 将寄存器设置为4个给定单精度浮点数的SSE intrinsics指令是_____A._mm_set_psB._mm_set1_ssC._mm_setzero_ssD._mm_setzero_ps参考答案:A27. 一个SSE寄存器可容纳( )个双精度浮点数A.2B.4C.8D.16参考答案:A28. 若SIMD并行化时遇到对齐问题,下列说法正确的是( )A.只能使用不对齐访存指令B.不能进行SIMD并行化C.对齐开销可能完全抵消SIMD并行收益D.以上皆错参考答案:C29. SSE intrinsics _mm_hadd_ps命令的功能是____SSE intrinsics _mm_hadd_ps命令的功能是____A.寄存器间单精度浮点数向量加法B.寄存器间双精度浮点数向量加法C.寄存器内单精度浮点数加法D.寄存器内双精度浮点数加法参考答案:C30. 矩阵每行排序的问题更适合使用MPI的_____编程模型。
A.阻塞的B.非阻塞的C.对等的D.主从的参考答案:D31. 关于MPI是什么,以下说法错误的是____关于MPI是什么,以下说法错误的是____A.一种消息传递编程模型标准B.一种共享内存编程模型标准C.编程角度看是C++/Fortran等的库D.基于SPMD模型参考答案:B32. 造成超线性加速比的你原因包括____造成超线性加速比的你原因包括____A.进程间大量通信B.并行算法导致额外计算C.并行计算工作量显著小于串行计算D.问题求解包含不可并行化部分参考答案:C33. 以下( )是MPI基本原语A.MPI_barrierB.MPI_Comm_numprocsC.MPI_Comm_rankD.MPI_Comm_Send参考答案:C34. CUDA线程层次中不包括( )A.KernelB.GridC.BlockD.Thread参考答案:A35. pthread_join的作用是( )A.强制终止指定线程B.检测指定线程是否结束C.等待指定线程结束才返回D.向指定线程发送数据参考答案:C36. 关于OpenMP程序中的并行结构,以下说法正确的是( )A.其结束时需程序员人为添加同步B.其结束时OpenMP已默认添加隐式障碍C.其结束时完全不需要同步D.其结束时必须进行同步参考答案:B37. 将t个线程的局部结果汇总,可采用递归分解并行进行,即,两两汇总,中间结果继续两两汇总,直到剩下唯一的最终结果,其时间复杂度为( )。
A.θ(1)B.θ(logt)C.θ(t)D.θ(tlogt)参考答案:B38. 在共享内存架构编程中,线程间不能通过_____进行通信A.全局变量B.局部变量C.静态变量D.全局堆中变量参考答案:B39. 两个矩阵相乘,当矩阵规模大于cache大小时,平凡算法的问题是_____A.第一个矩阵访存时间局部性差B.第一个矩阵访存空间局部性差C.第二个矩阵访存时间局部性差D.第二个矩阵访存空间局部性差参考答案:D40. CUDA共享内存是由_____共享A.Grid中所有线程B.一个Block中所有线程C.一个Warp中所有线程D.GPU中所有线程参考答案:B41. 对双精度浮点计算,AVX最高实现( )路并行A.2B.4C.8D.16参考答案:B42. 为了实现向量计算,SIMD架构还需提供____为了实现向量计算,SIMD架构还需提供____A.更大的内存容量B.更快的内存传输C.更宽的寄存器D.更快的网络传输参考答案:C43. 当前CPU性能提升已从依赖时钟频率提升转为更多依赖____当前CPU性能提升已从依赖时钟频率提升转为更多依赖____A.多核和众核技术B.突破物理局限C.改善散热D.采用新材料参考答案:A44. 多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是( )。
A.读取x存在数据依赖,不能并发进行B.累加顺序被改变,结果是错误的C.加法操作是简单运算,无需同步D.加法操作不是原子操作,需要同步保证数据依赖参考答案:D45. SSE intrinsics _mm_load_pd。
