1、n个数求和的串行程序,通过一个循环将每个数累加到全局变量sum中,其多线程版本简单将循环范围改变为每个线程负载的范围,存在的问题是____。
A.负载不均
B.通信开销大
C.CPU空闲等待严重
D.sum累加产生竞争条件,导致结果错误
本题答案:
D
2、采用划分子矩阵方法实现矩阵乘法,在进行SSE并行化时,是对(由外至内数)第____层循环进行循环展开然后向量化。
A.3
B.4
C.5
D.6
本题答案:
D
3、OpenMP是___的一个常见替代。
A.SSE
B.MPI
C.Pthread
D.CUDA
本题答案:
C
4、采用划分子矩阵技术优化矩阵乘法CUDA程序,主要思想是访存更多在____。
A.CPU内存
B.GPU显存
C.GPU共享内存
D.GPU寄存器
本题答案:
C
5、pthread_rwlock_wrlock是对读写锁进行____操作。
A.加锁
B.解锁
C.加读琐
D.加写锁
本题答案:
D
6、SSE数据移动指令分类不包括____。
A.对齐传输
B.未对齐传输
C.标量传输
D.缓存传输
本题答案:
D
7、SSE intrinsics _mm_load_pd命令的功能是____。
A.对齐向量读取单精度浮点数
B.未对齐向量读取单精度浮点数
C.对齐向量读取双精度浮点数
D.未对齐向量读取双精度浮点数
本题答案:
C
8、每个SSE寄存器宽度为____位。
A.32
B.64
C.128
D.256
本题答案:
C
9、我国首次获得戈登贝尔奖是在____年。
A.2015
B.2016
C.2017
D.2018
本题答案:
B
10、FORTRAN语言存储二维数组采取____。
A.行主次序存储
B.列主次序存储
C.交错式存储
D.对角线存储
本题答案:
B
11、对于科学仿真并行计算的一般方法,哪个步骤的描述是错误的?
A.将空间离散化为网格
B.在网络上进行局部计算
C.局部计算结果完全独立
D.重复若干时间步
本题答案:
C
12、当前CPU性能提升已从依赖时钟频率提升转为更多依赖____。
A.多核和众核技术
B.突破物理局限
C.改善散热
D.采用新材料
本题答案:
A
13、我国最近一次夺得全球超级计算机计算能力冠军的是____。
A.天河1号
B.天河1A
C.天河2号
D.神威·太湖之光
本题答案:
D
14、对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,就计算出了结果矩阵的一个元素,这种说法是____。
A.正确的
B.错误的
本题答案:
B
15、MPI组通信操作不包括哪类____。
A.通信
B.同步
C.点对点
D.计算
本题答案:
C
16、对一个串行程序进行SIMD并行化,应重点考虑的程序部分是____。
A.声明语句
B.条件分支语句
C.循环语句
D.输入输出语句
本题答案:
C
17、在使用互斥量之后必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
本题答案:
D
18、____执行pthread_sem_post操作,当前线程会唤醒阻塞线程。
A.当信号量已加锁时
B.当信号量为0时
C.当信号量已超过阈值时
D.当信号量已销毁时
本题答案:
B
19、一个AVX寄存器最多存放____个双精度浮点数。
A.2
B.4
C.8
D.16
本题答案:
B
20、OpenMP不会自动地在____位置设置barrier。
A.并行结构开始
B.并行结构结束
C.其他控制结构开始
D.其他控制结构结束
本题答案:
C
21、关于障碍机制,下面说法错误的是____。
A.会导致快速线程阻塞,不应使用
B.在需要强制线程步调一致时,应使用
C.可用互斥量机制实现
D.属于一种组通信
本题答案:
A
22、动态线程编程模式的缺点是____。
A.线程管理开销高
B.系统资源利用率低
C.线程任务分配困难
D.线程通信效率低
本题答案:
A
23、任务依赖图中顶点权重之和表示____。
A.任务数
B.任务难度
C.串行执行时间
D.并行执行时间
本题答案:
C
24、编写矩阵乘法的AVX程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A.2
B.4
C.8
D.16
本题答案:
C
25、CUDA的优点不包括____。
A.可移植性
B.入门简单
C.标准的SPMD模式
D.不再需要图形API
本题答案:
A
26、为了实现向量计算,SIMD架构还需提供____。
A.更大的内存容量
B.更快的内存传输
C.更宽的寄存器
D.更快的网络传输
27、主线程通过____函数获取特定线程的返回结果。
A.pthread_create
B.pthread_join
C.pthread_cancel
D.pthread_get
28、n个数求和的问题,使用n个处理器的并行算法达到了logn的运行时间,则算法____。
A.肯定不是代价最优
B.肯定是代价最优
C.不确定是否代价最优
D.以上皆错
29、为防止编译器不支持OpenMP,应使用____实现OpenMP代码和普通代码的条件编译。
A.“#include”
B.“#pragma omp parallel”
C.“#ifdef _OPENMP”
D.“#define _OPENMP”
30、在使用条件变量之前必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
31、采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1行的优点是____。
A.更有利于负载均衡
B.减少了通信开销
C.降低了计算次数
D.减少了从进程空闲
32、以下超级计算机中,____是SIMD架构。
A.CRAY-1
B.天河1A
C.天河2号
D.神威·太湖之光
33、对划分输入数据的策略,下面说法错误的是____。
A.当输出数据很少时,需划分输入数据
B.当输出数据存在依赖时,需划分输入数据
C.通常最后需要汇总结果
D.由于不是直接划分输出数据,性能会很差
34、实现任何时刻都只有一个线程进行共享变量更新的OpenMP指令是____。
A.omp parallel
B.omp barrier
C.omp critical
D.omp reduce
35、for(i=0; i<10; i++) A[i] = A[i]+1;此循环____数据依赖。
A.存在
B.不存在
C.不确定
D.以上皆错
36、SSE intrinsics _mm_hadd_ps命令的功能是____。
A.寄存器间单精度浮点数向量加法
B.寄存器间双精度浮点数向量加法
C.寄存器内单精度浮点数加法
D.寄存器内双精度浮点数加法
37、一个Neon寄存器最多存放____个双精度浮点数。
A.2
B.4
C.8
D.16
38、关于并行代价,下面描述正确的是____。
A.总是小于串行时间
B.总是大于并行时间
C.总是与并行时间渐进相等
D.以上皆错
39、在使用条件变量之后必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
40、下列哪门课程不是并行程序设计的先导课?
A.计算机概论
B.高级语言程序设计
C.计算机体系结构
D.数据库系统
41、CPU cache大小为32KB,64*64的两个矩阵进行加法计算,下面说法正确的是____。
A.可利用cache时间局部性优化性能
B.可利用cache空间局部性优化性能
C.可通过矩阵分片优化性能
D.访存方面无优化可能
42、记并行时间为T,串行时间为T',处理器数量为p,并行代价的定义是____。
A.pT
B.T'+T
C.p(T'-T)
D.pT-T'
43、每个AVX寄存器宽度为____位。
A.32
B.64
C.128
D.256
44、伸缩性的含义不包括____。
A.硬件能升级扩展
B.扩大系统规模构造成本增长不快
C.程序在新硬件下仍能高效运行
D.程序在更大规模系统下仍能高效运行
45、静态线程编程模式的缺点是____。
A.线程管理开销高
B.系统资源利用率低
C.线程负载不均
D.线程通信开销高
46、OpenMP循环并行指令是____。
A.omp parallel
B.omp single
C.omp parallel for
D.omp master
47、对单精度浮点计算,SSE最高实现____路并行。
A.2
B.4
C.8
D.16
48、MMX有____个专用寄存器。
A.4
B.8
C.16
D.32
49、在MPI中从/向虚拟进程收/发消息的实际效果是____。
A.与通信域根进程通信
B.与0号进程通信
C.像什么都没发生一样
D.以上皆错
50、1) R=XR*1.3;G=XG*1.8;B=XB*1.1; 2) R=X[0]*1.3;G=X[1]*1.8;B=X[2]*1.1;这两个程序片段哪个进行向量化效率更高?
A.1)
B.2)
C.不确定
D.以上皆错