22春学期(高起本1709-1803、全层次1809-2103)《并行程序设计》在线作业-00002
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.对单精度浮点计算,MMX最高实现____路并行。
A.2
B.4
C.8
D.16
2.从线程检查主线程是否要求它退出应采用____。
A.pthread_join
B.pthread_cancel
C.pthread_testcancel
D.pthread_exit
3.条件变量相对于互斥量的优点是____。
A.是多源状态
B.加锁解锁开销低
C.条件不成立时阻塞线程并自动解锁加锁
D.以上皆错
4.编写矩阵乘法的SSE程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A.2
B.4
C.8
D.16
5.float a[64]; for (i=0; i<60; i+=4) Va = a[i+2:i+5]; 系统向量化访存是按16字节对齐的,则此向量化程序每个循环步产生____个内存访问操作。
A.1
B.2
C.3
D.4
6.全球500强超算在CPU、网络等硬件上越来越体现出采用____的趋势。
A.特殊硬件
B.通用硬件
C.非公开硬件
D.廉价硬件
7.并行算法设计所做的事情不包括____。
A.分解计算工作分配给多个处理器
B.保持数据依赖保证结果正确
C.确保不能产生重复计算
D.尽量降低通信等额外开销
8.CPU cache大小为32KB,64*64的两个矩阵进行加法计算,下面说法正确的是____。
A.可利用cache时间局部性优化性能
B.可利用cache空间局部性优化性能
C.可通过矩阵分片优化性能
D.访存方面无优化可能
9.pthread_join的作用是____。
A.强制终止指定线程
B.检测指定线程是否结束
C.等待指定线程结束才返回
D.向指定线程发送数据
10.使用____无法直接实现“主线程等待4个从线程完成任务”。
A.1个信号量
B.障碍
C.1个互斥量
D.4个互斥量
11.OpenMP并行模型是一种____编程模型。
A.静态线程
B.动态线程
C.混合线程
D.众核
12.关于MPI_recv对消息的区分,下列说法正确的是____。
A.只能使用消息标签
B.可以使用MPI_ANY_TAG
C.可以使用消息名
D.可以使用端口号
13.推动GPU应用于通用高性能计算爆发式增长的开发工具是____。
A.OpenGL
B.OpenCL
C.DirectX
D.CUDA
14.OpenMP是___的一个常见替代。
A.SSE
B.MPI
C.Pthread
D.CUDA
15.一个AVX寄存器最多存放____个整型数。
A.2
B.4
C.8
D.16
16.一个Neon寄存器最多存放____个整型数。
A.2
B.4
C.8
D.16
17.每个AVX寄存器宽度为____位。
A.64
B.128
C.256
D.512
18.以下____是MPI基本原语。
A.MPI_barrier
B.MPI_Comm_numprocs
C.MPI_Comm_rank
D.MPI_Comm_Send
19.天河1号、天河2号、神威.太湖之光总体上都是____架构
A.单核
B.多核
C.众核
D.集群
20.编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A.2
B.4
C.8
D.16
21.执行pthread_rwlock_rdlock时,____的情况下加锁成功。
A.已有一个线程上了写锁
B.已有多个线程上了写锁
C.已有多个线程上了读锁
D.已有多个线程上了读锁和写锁
22.AVX是____平台的SIMD架构。
A.x86
B.POWER
C.SPARC
D.ARM
23.和一对多广播对应的组通信操作是____。
A.多对一收集
B.多对多收集
C.多对一归约
D.多对多归约
24.两个n*n的矩阵相乘,将所有n^2个乘法计算划分给不同进程,再将对应某行某列的n个乘法结果累加得到结果矩阵对应元素,这是一种划分____的数据并行。
A.输入数据
B.中间结果
C.输出数据
D.临时数据
25.为防止编译器不支持OpenMP,应使用____实现OpenMP代码和普通代码的条件编译。
A."#include "
B."#pragma omp parallel"
C."#ifdef _OPENMP"
D."#define _OPENMP"
26.对矩阵每行排序的程序进行多线程并行化,对矩阵采用____。
A.简单均匀块划分即可保证负载均衡
B.循环划分才能实现负载均衡
C.动态划分才能实现负载均衡
D.随机划分才能实现负载均衡
27.加速比计算中串行时间应该取求解同一问题的哪个串行算法的时间____。
A.任意一个串行算法
B.作为并行算法基础的那个串行算法
C.已知最优的串行算法
D.所有串行算法的平均时间
28.当处理器数量不变时,随着问题规模增大,效率增大对____成立。
A.部分并行算法
B.所有并行算法
C.所有并行算法都不
D.以上皆错
29.使用一个信号量实现“主线程等待4个从线程完成任务”,信号量初始值应设置为____。
A.0
B.1
C.2
D.4
30.OpenMP循环划分策略不包括____。
A.static
B.fixed
C.dynamic
D.guided
31.矩阵乘法问题更适合使用MPI的____编程模型。
A.阻塞的
B.非阻塞的
C.对等的
D.主从的
32.将寄存器设置为4个给定单精度浮点数的SSE intrinsics指令是____。
A._mm_set_ps
B._mm_set1_ss
C._mm_setzero_ss
D._mm_setzero_ps
33.控制流语句进行SIMD并行化很困难的原因是控制流语句导致____。
A.连续数据执行不同指令
B.连续数据执行相同指令
C.同一数据执行不同指令
D.同一数据执行相同指令
34.n个节点的超立方构造成本为____。
A.O(logn)
B.O(sqrt(n))
C.O(n)
D.O(nlogn)
35.MMX有____个专用寄存器。
A.4
B.8
C.16
D.32
36.pthread_rwlock_rdlock是对读写锁进行____操作。
A.加锁
B.解锁
C.加读琐
D.加写锁
37.对下面程序,说法正确的是 # pragma omp parallel for num_threads(thread_count) \ reduction(+:sum) for (k = 1; k <= n; k++) { sum += factor/(2*k-1); factor = -factor; }
A.破坏了数据依赖
B.未破坏数据依赖
C.取决于变量声明
D.比临界区方式性能差
38.以下说法正确的是____。
A.多对多广播的高效算法基于一对多广播的高效算法
B.多对多归约的高效算法基于多对一归约的高效算法
C.多对多广播的高效算法基于串行的一对多广播算法
D.以上皆错
39.为了实现向量计算,SIMD架构还需提供____。
A.更大的内存容量
B.更快的内存传输
C.更宽的寄存器
D.更快的网络传输
40.Pthread不支持____。
A.创建并发执行线程
B.同步
C.非显式通信
D.自动并行化
41.一个AVX寄存器最多存放____个单精度浮点数。
A.2
B.4
C.8
D.16
42.SSE intrinsics _mm_storeu_pd命令的功能是____。
A.对齐标量存单精度浮点数
B.未对齐标量存单精度浮点数
C.对齐向量存双精度浮点数
D.未对齐向量存双精度浮点数
43.一个Neon寄存器最多存放____个单精度浮点数。
A.2
B.4
C.8
D.16
44.在用pthread_mutex_lock对互斥量进行加锁时,若其已上锁,则线程进入____状态。
A.初始化
B.阻塞
C.继续执行
D.销毁
45.对单精度浮点计算,SSE最高实现____路并行。
A.2
B.4
C.8
D.16
46.SSE intrinsics _mm_hadd_ps命令的功能是____。
A.寄存器间单精度浮点数向量加法
B.寄存器间双精度浮点数向量加法
C.寄存器内单精度浮点数加法
D.寄存器内双精度浮点数加法
47.有大量分支指令的程序不适合下面哪种体系结构上进行并行化?
A.SISD
B.SIMD
C.SPMD
D.MIMD
48.对于加速比S和处理器数量p,下列说法正确的是____。
A.有可能S>p
B.必然S<p
C.不可能S=p
D.两者无关联
49.在编写使用n个线程进行n个数求和的OpenMP的程序时采用临界区技术,则多线程版本____串行版本。
A.肯定快于
B.肯定慢于
C.可能快于
D.以上皆错
50.两个矩阵相乘,若矩阵总规模小于cache大小,则优化访存的最佳方法是____。
A.先将两个矩阵读入cache再进行乘法
B.先转置第一个矩阵再进行乘法
C.先转置第二个矩阵再进行乘法
D.以上皆错
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777