20秋学期(1709、1803、1809、1903、1909、2003、2009 )《并行程序设 计》在线作业(一)
20秋学期(1709、1803、1809、1903、1909、2003、2009 )并行程序设 计在线作业(一)共50道题 总分:100分1、 单选题 共50题,100分1. SSE intrinsics _mm_store_ps命令的功能是_。 A 对齐向量存单精度浮点数 B 未对齐向量存单精度浮点数 C 对齐标量存单精度浮点数 D 未对齐标量存单精度浮点数2. for (i=0; i<16; i+=1) L = Ai+0 Bi+0; D = D + abs(L); ,此循环_。 A 可完全向量化 B 不可向量化 C 不确定 D 可部分向量化3. 对这样的循环for (i=0; i<100; i+=1) Ai+0 = Ai+0 + Bi+0; 进行向量化,基本技术手段是_。A 循环划分 B 循环消除 C 循环展开 D 以上皆错4. MMX有_个专用寄存器。 A 4 B 8 C 16 D 325. 编译器编译OpenMP并行循环时,会自动生成一些代码,其中不包括_。 A 创建和管理线程代码 B 循环划分给线程的代码 C 找出数据依赖的代码 D 线程同步的代码6. 创建线程时,我们通过_将线程号分别传递给每个线程。 A 全局变量 B 局部变量 C 动态分配变量 D pthread_create的“线程函数参数”参数7. 下列哪项不是这门课程的目标? A 学会肯定能优化程序性能的方法 B 学会用并行思维思考问题 C 学会常用的并行编程工具 D 理解软件到并行架构的映射8. 编写n个数求和的OpenMP程序,最高效的方法是_。 A 多线程直接并发累加到共享变量 B 将累加操作设置为临界区 C 在累加操作前设置障碍 D 采用归约指令9. 静态线程编程模式的缺点是_。 A 线程管理开销高 B 系统资源利用率低 C 线程负载不均 D 线程通信开销高10. 采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1 行的优点是_。 A 更有利于负载均衡 B 减少了通信开销 C 降低了计算次数 D 减少了从进程空闲11. MPI收发各一条消息的API是_。 A MPI_Sendrecv B MPI_Send C MPI_Recv D MPI_Replace12. 两个矩阵相乘,若矩阵规模大于cache大小,则优化访存的可行方法是_。 A 先将两个矩阵读入cache再进行乘法 B 先转置第一个矩阵再进行乘法 C 先转置第二个矩阵再进行乘法 D 以上皆错13. 多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此, 下面说法正确的是 A 读取x存在数据依赖,不能并发进行 B 累加顺序被改变,结果是错误的 C 加法操作是简单运算,无需同步 D 加法操作不是原子操作,需要同步保证数据依赖 14. 记并行时间为T,串行时间为T,处理器数量为p,则额外开销应如何计算? A T-T B T-T C pT D pT-T15. 编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘加计算的循环进行_路循环展开。 A 2 B 4 C 8 D 1616. 在下面问题中,SIMD并行更适合_。 A 搜索 B 排序 C 矩阵乘法 D 构建二叉排序树17. 记并行时间为T,串行时间为T,处理器数量为p,效率为E,则代价最优的定义是_。 A pT=T B E=(1) C E=pT/T D E=T/pT18. 对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,还需进行SIMD寄存器中几 个元素的_操作才能得到结果矩阵的一个元素。 A 排列 B 交换 C 广播 D 归约19. 对于条件变量,下列说法错误的是_。 A 可以用互斥量实现相同功能 B 不能用互斥量实现相同功能 C 较之互斥量方案节省资源 D 较之互斥量方案代码更简洁20. pthread_join的作用是_。 A 强制终止指定线程 B 检测指定线程是否结束 C 等待指定线程结束才返回 D 向指定线程发送数据21. 以下_是MPI基本原语。 A MPI_barrier B MPI_Comm_numprocs C MPI_Comm_rank D MPI_Comm_Send22. n个元素排序问题,如果只能通过元素比较交换构造算法,则n个处理器的并行排序算法达到_的运行时间才 是代价最优的。 A O(logn) B O(n) C O(nlogn) D O(n2)23. 以下超级计算机中,_不是SIMD架构。A CDCSTAR-100 B 757 C 银河 D 天河1号24. 下面哪种架构最适合数据并行_。 A SISD B SIMD C MISD D MIMD 25. 循环需满足特定条件才能进行OpenMP并行化,下列哪个条件是错误的_。 A 循环变量应为带符号整数 B 终止检测必须是与循环不变量的<和>比较 C 循环变量每步递增/递减一个循环不变量 D 循环体无进/出控制流26. 使用_无法直接实现“主线程唤醒4个从线程去执行任务”。 A 1个信号量 B 障碍 C 1个互斥量 D 4个互斥量27. OpenMP编译指示的作用范围是_。 A 其后一个语句 B 其后连续语句 C 其后直到函数结束 D 整个函数28. OpenMP不能实现的是_。 A 负责创建和管理线程 B 隐藏栈管理 C 提供同步机制 D 自动并行化29. 采用MPI主从模型解决矩阵每行排序问题,主进程不断向每个从进程发送任务、接收结果,则它从从进程接收 结果时,以下哪种方式更好_。 A 按编号顺序依次从从进程接收结果 B 按编号逆序依次从从进程接收结果 C 按编号顺序、逆序交替从从进程接收结果 D 使用MPI_ANY_SOURCE和MPI_ANY_TAG 30. 对双精度浮点计算,AVX最高实现_路并行。 A 2 B 4 C 8 D 1631. 对于效率E,下面描述错误的是_。 A 理想并行E=1 B 总是在01之间 C 可能>1 D 可能随着处理器数量增大趋向于0 32. 对矩阵乘法串行程序的主体三重循环,我们选择最内层循环进行向量化的原因是_。 A 它最后执行 B 外层循环中没有计算操作 C 是随意选择的 D 它的连续循环步是对不同元素进行相同运算33. 在分布式内存架构编程中,进程间不能_。 A 进行通信 B 进行同步 C 发送和接收消息 D 通过读写变量交换数据34. 新一代GPU重点提供的新特性不包括_。 A 新型高速显存 B GPU间直接高速互联 C 自动并行化 D 人工智能计算专门优化35. 在矩阵乘法的串行程序中,对_部分进行向量化收益最大。 A 初始化 B 第二个矩阵转置循环 C 矩阵元素乘加计算的循环 D 结果输出36. 采用划分子矩阵(大小b*b)的方法实现n*n矩阵乘法,一次乘加运算涉及的子矩阵可全部放入cache,则整个 计算过程中,两个输入矩阵的每个元素会产生_次访存。 A n B t C n-t D n/t37. 关于消息传递编程的特点,以下说法正确的是_。 A 与共享内存一样有竞争条件 B 编程简单 C 需程序员考虑局部性 D 无需考虑进程间通信38. 华尔街是世界上超级计算机最密集的区域之一,原因是_。 A 金融巨头支付得起 B 与超算制造商有良好合作 C 海量交易需要很高安全性 D 海量交易处理需要并行计算39. pthread_create函数中线程函数指针的正确类型是_。 A void (void *) B void * (void *) C int (void) D void * (*)(void *)40. 多线程是_架构下的并行模式。 A MIMD B 共享内存 C 分布式内存 D 分离式地址空间41. OpenMP主要是通过_来更高层抽象的多线程编程。 A 设计实现新的语言 B 为现有语言提供大量库函数 C 为现有语言扩展编译指示 D 新编译器实现自动并行化42. 执行pthread_rwlock_rdlock时,_的情况下加锁成功。 A 已有一个线程上了写锁 B 已有多个线程上了写锁 C 已有多个线程上了读锁 D 已有多个线程上了读锁和写锁43. 有大量分支指令的程序不适合下面哪种体系结构上进行并行化? A SISD B SIMD C SPMD D MIMD 44. 任务依赖图的平均并发度的定义是_。 A 顶点权重之和 B 顶点数 C 各层平均顶点数 D 顶点权重之和/关键路径长度45. 一个AVX寄存器最多存放_个整型数。 A 2 B 4 C 8 D 1646. n个数求和的问题,使用n个处理器的并行算法达到了logn的运行时间,则算法_。 A 肯定不是代价最优 B 肯定是代价最优 C 不确定是否代价最优 D 以上皆错47. 适合进行SIMD并行化的串行程序特点不包括_。 A 大数据对象 B 数据项连续存储 C 流式计算 D 算术计算密集 48. 我国最早夺得全球超级计算机计算能力冠军的是_。 A 天河1号 B 天河1A C 天河2号 D 神威.太湖之光49. 对单精度浮点计算,MMX最高实现_路并行。 A 2 B 4 C 8 D 1650. 将寄存器设置为4个单精度浮点数0.0的SSE intrinsics指令是_。 A _mm_set_ps B _mm_set1_ss C _mm_setzero_ss D _mm_setzero_ps