1、南开大学22春并行程序设计离线作业二及答案参考1. OpenMP编译指示是以( )开头的。A.“#include”B.“#ifdef”C.“#pragam”D.“#else”参考答案:C2. OpenMP不会自动地在_位置设置barrier。A.并行结构开始B.并行结构结束C.其他控制结构开始D.其他控制结构结束参考答案:C3. _执行pthread_sem_wait操作,线程进入阻塞状态。A.当信号量已加锁时B.当信号量为0时C.当信号量已超过阈值时D.当信号量已销毁时参考答案:B4. 主线程创建了4个从线程然后打印一条信息,从线程打印各自的线程号,未使用任何同步,则主线程打印的消息和从线程
2、打印的线程号的相对顺序_。A.必然主线程前、从线程后B.必然从线程前、主线程后C.必然相互交织D.各种顺序皆有可能参考答案:D5. 一个Neon寄存器最多存放_个双精度浮点数。A.2B.4C.8D.16参考答案:A6. 四位助教帮助教授批改300份试卷,试卷共16道题,每位助教负责批改所有试卷的4道题,这是一种_任务划分方法。四位助教帮助教授批改300份试卷,试卷共16道题,每位助教负责批改所有试卷的4道题,这是一种_任务划分方法。A.数据并行B.任务并行C.搜索并行D.预测并行参考答案:B7. 对于并行程序设计,下面说法错误的是_。对于并行程序设计,下面说法错误的是_。A.天然具有复杂性B.
3、算法移植困难C.软件开发标准环境发展相对之后D.不应发展这个方向参考答案:D8. 对单精度浮点计算,SSE最高实现_路并行。对单精度浮点计算,SSE最高实现_路并行。A.2B.4C.8D.16参考答案:B9. 关于MPI是什么,以下说法错误的是_。关于MPI是什么,以下说法错误的是_。A.一种消息传递编程模型标准B.一种共享内存编程模型标准C.编程角度看是C+/Fortran等的库D.基于SPMD模型参考答案:B10. 任务依赖图中权重之和最长的路径称为( )。A.最大任务B.关键路径C.平均并发度D.最短路径参考答案:B11. 单精度浮点数矩阵乘法进行AVX并行,期望的加速比为_.单精度浮点
4、数矩阵乘法进行AVX并行,期望的加速比为_.A.等于8B.小于8C.4到8之间D.等于4参考答案:B12. OpenMP是_的一个常见替代。OpenMP是_的一个常见替代。A.SSEB.MPIC.PthreadD.CUDA参考答案:C13. FORTRAN语言存储二维数组采取_。FORTRAN语言存储二维数组采取_。A.行主次序存储B.列主次序存储C.交错式存储D.对角线存储参考答案:B14. 在条件成立时使用pthread_cond_signal( )。A.唤醒等待线程B.解锁互斥量C.加锁互斥量D.唤醒等待线程,该线程重新加锁互斥量参考答案:D15. pthread_create函数中线程
5、函数指针的正确类型是( )。A.void(void*)B.void*(void*)C.int(void)D.void*(*)(void*)参考答案:D16. 为防止编译器不支持OpenMP,应使用_实现OpenMP代码和普通代码的条件编译。A.#include B.#pragma omp parallelC.#ifdef _OPENMPD.#define _OPENMP参考答案:C17. n个元素排序问题,如果只能通过元素比较交换构造算法,则n个处理器的并行排序算法达到( )的运行时间才是代价最优的。A.O(logn)B.O(n)C.O(nlogn)D.O(n2)参考答案:A18. SSE的s
6、huffle指令的8位二进制整数参数被划分为4个2位二进制整数imm803,若imm81=j则表示( )。A.将第一个源寄存器的第j个元素放在目标寄存器位置1B.将第二个源寄存器的第j个元素放在目标寄存器位置1C.将第一个源寄存器的第1个元素放在目标寄存器位置1D.将第二个源寄存器的第1个元素放在目标寄存器位置1参考答案:A19. SSE intrinsics_mm_loadu_ps命令的功能是( )。A.对齐向量读取单精度浮点数B.未对齐向量读取单精度浮点数C.对齐向量读取双精度浮点数D.未对齐向量读取双精度浮点数参考答案:B20. 每个SSE寄存器宽度为_位。每个SSE寄存器宽度为_位。A
7、32B.64C.128D.256参考答案:C21. 实现任何时刻都只有一个线程进行共享变量更新的OpenMP指令是_。实现任何时刻都只有一个线程进行共享变量更新的OpenMP指令是_。A.omp parallelB.omp barrierC.omp criticalD.omp reduce参考答案:C22. SSE intrinsics _mm_load_pd命令的功能是_。SSE intrinsics _mm_load_pd命令的功能是_。A.对齐向量读取单精度浮点数B.未对齐向量读取单精度浮点数C.对齐向量读取双精度浮点数D.未对齐向量读取双精度浮点数参考答案:C23. 任务依赖图中顶点
8、权重之和表示( )。A.任务数B.任务难度C.串行执行时间D.并行执行时间参考答案:C24. 编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘加计算的循环进行_路循环展开。编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘加计算的循环进行_路循环展开。A.2B.4C.8D.16参考答案:B25. MMX有_个专用寄存器。MMX有_个专用寄存器。A.4B.8C.16D.32参考答案:B26. 多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是( )。A.读取x存在数据依赖,不能并发进行B.
9、累加顺序被改变,结果是错误的C.加法操作是简单运算,无需同步D.加法操作不是原子操作,需要同步保证数据依赖参考答案:D27. 记并行时间为T,串行时间为T&39;,处理器数量为p,并行代价的定义是_。记并行时间为T,串行时间为T,处理器数量为p,并行代价的定义是_。A.pTB.T+TC.p(T-T)D.pT-T参考答案:A28. 将寄存器设置为4个给定单精度浮点数的SSE intrinsics指令是_。A._mm_set_psB._mm_set1_ssC._mm_setzero_ssD._mm_setzero_ps参考答案:A29. 两个矩阵相乘,若矩阵规模大于cache大小,则优化访存的可行
10、方法是( )。A.先将两个矩阵读入cache再进行乘法B.先转置第一个矩阵再进行乘法C.先转置第二个矩阵再进行乘法D.以上皆错参考答案:C30. 以下哪条不是推动并行计算发展的因素?( )以下哪条不是推动并行计算发展的因素?( )A.存储是系统瓶颈B.单CPU发展已能满足应用需求C.利用标准硬件构造并行机令升级容易D.编程环境标准化逐步发展参考答案:B31. 全球500强超算在操作系统上越来越体现出_一家独大的趋势。A.UnixB.WindowsC.LinuxD.ios参考答案:C32. 对天气预报问题,将大气层划分为5*108个网格单元,每个时间步每个网格需200个浮点运算,时间间隔设置为1
11、0分钟,计算10天内大气运动,100MFlops计算能力的计算机需要多少天?( )对天气预报问题,将大气层划分为5*108个网格单元,每个时间步每个网格需200个浮点运算,时间间隔设置为10分钟,计算10天内大气运动,100MFlops计算能力的计算机需要多少天?( )A.1B.10C.100D.300参考答案:C33. 单程序多数据流模式是针对_架构的。A.SISDB.SIMDC.MISDD.MIMD参考答案:D34. 将t个线程的局部结果汇总,可采用递归分解并行进行,即,两两汇总,中间结果继续两两汇总,直到剩下唯一的最终结果,其时间复杂度为( )。A.(1)B.(logt)C.(t)D.(
12、tlogt)参考答案:B35. 使用( )无法直接实现“主线程唤醒4个从线程去执行任务”。A.1个信号量B.障碍C.1个互斥量D.4个互斥量参考答案:C36. 对于效率E,下面描述错误的是( )。A.理想并行E=1B.总是在01之间C.可能1D.可能随着处理器数量增大趋向于0参考答案:B37. 在分布式内存架构编程中,进程间不能( )。A.进行通信B.进行同步C.发送和接收消息D.通过读写变量交换数据参考答案:D38. 循环需满足特定条件才能进行OpenMP并行化,下列哪个条件是错误的?( )A.循环变量应为带符号整数B.终止检测必须是与循环不变量的比较C.循环变量每步递增/递减一个循环不变量
13、D.循环体无进/出控制流参考答案:B39. SSE指令移动单精度浮点数,不能实现_。SSE指令移动单精度浮点数,不能实现_。A.将64位数据移动到SSE寄存器高位B.将64位数据移动到SSE寄存器低位C.将32位数据移动到SSE寄存器指定位置D.在两个SSE寄存器高/低64位间移动参考答案:C40. 对矩阵每行排序的程序进行多线程并行化,对矩阵采用_。A.简单均匀块划分即可保证负载均衡B.循环划分才能实现负载均衡C.动态划分才能实现负载均衡D.随机划分才能实现负载均衡参考答案:C41. 多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,
14、下面说法正确的是( )多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是( )A.读取x存在数据依赖,不能并发进行B.累加顺序被改变,结果是错误的C.加法操作是简单运算,无需同步D.加法操作不是原子操作,需要同步保证数据依赖参考答案:D42. 我国最近一次夺得全球超级计算机计算能力冠军的是_。A.天河1号B.天河1AC.天河2号D.神威太湖之光参考答案:D43. 忙等待方法解决竞争条件的思路是( )。A.令CPU一直处于忙碌状态无法产生竞争条件B.令存在数据依赖的内存操作充分并行C.强制多线程进入临界区的顺序来将存在数据
15、依赖内存操作串行化D.以上皆错参考答案:C44. 静态线程编程模式的缺点是( )。A.线程管理开销高B.系统资源利用率低C.线程负载不均D.线程通信开销高参考答案:B45. 在128位的SIMD寄存器中,我们不能保存( )。A.16个8位整数B.8个16位短整型C.4个32位整型D.16个字符的字符串参考答案:D46. 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.
16、1;这两个程序片段哪个进行向量化效率更高?A.1)B.2)C.不确定D.以上皆错参考答案:B47. 关于障碍机制,下面说法错误的是_。关于障碍机制,下面说法错误的是_。A.会导致快速线程阻塞,不应使用B.在需要强制线程步调一致时,应使用C.可用互斥量机制实现D.属于一种组通信参考答案:A48. CUDA共享内存是由_共享。A.Grid中所有线程B.一个Block中所有线程C.一个Warp中所有线程D.GPU中所有线程参考答案:B49. 编写n个数求和的OpenMP程序,最高效的方法是( )。A.多线程直接并发累加到共享变量B.将累加操作设置为临界区C.在累加操作前设置障碍D.采用归约指令参考答
17、案:D50. SSE寄存器A和B中元素分别为A1 A2 A3 A4和B1 B2 B3 B4(均为由低到高),则执行C=blend(A,B,0x05)后,C中元素为( )。A.A1 A2 B3 B4B.B1 B2 A3 A4C.A1 B2 A3 B4D.B1 A2 B3 A4参考答案:D51. 动态线程编程模式的缺点是_。动态线程编程模式的缺点是_。A.线程管理开销高B.系统资源利用率低C.线程任务分配困难D.线程通信效率低参考答案:A52. 求解同一个问题的4个并行算法的等效率函数分析结果如下,其中( )的可扩展性最优。A.(plogp)B.(p2)C.(p2logp)D.(p3)参考答案:A
18、53. 利用cache line一次读取多个数据字的机制优化程序访存性能,其机理是( )。A.降低了访存延迟B.隐藏了访存延迟C.利用了cache空间局部性D.利用了cache时间局部性参考答案:C54. 在下面问题中,SIMD并行最不适合( )。A.向量加法B.向量中元素排序C.矩阵向量乘法D.矩阵加法参考答案:B55. 对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,还需进行SIMD寄存器中几个元素的_操作才能得到结果矩阵的一个元素。对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,还需进行SIMD寄存器中几个元素的_操作才能得到结果矩阵的
19、一个元素。A.排列B.交换C.广播D.归约参考答案:D56. 我国最近一次夺得全球超级计算机计算能力冠军的是_。我国最近一次夺得全球超级计算机计算能力冠军的是_。A.天河1号B.天河1AC.天河2号D.神威太湖之光参考答案:D57. 每个MMX寄存器宽度为_位。每个MMX寄存器宽度为_位。A.32B.64C.128D.256参考答案:B58. 在下列应用中,SIMD最不适合_。在下列应用中,SIMD最不适合_。A.图像处理B.音频处理C.科学计算D.数据库查询参考答案:D59. OpenMP是( )的一个常见替代。A.SSEB.MPIC.PthreadD.CUDA参考答案:C60. 下面哪个问题相对而言更不适合进行数据并行_。下面哪个问题相对而言更不适合进行数据并行_。A.求和B.排序C.向量加法D.矩阵乘法参考答案:B