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