25春学期(高起本:1809-2103、专升本/高起专:2103)《并行程序设计》在线作业-00002
试卷总分:100 得分:100
一、单选题 (共 50 道试题,共 100 分)
1.动态任务划分相对于静态任务划分的缺点是____。
A.可能导致负载不均
B.通信开销高
C.任务粒度粗
D.计算复杂度高
2.____不是SIMD架构。
A.SSE
B.超线程
C.AltiVec
D.Neon
3.CPU cache大小为32KB,如希望(单精度浮点数)矩阵乘法计算过程中所有数据都驻留cache中,则矩阵大小最大为
A.16*16
B.32*32
C.64*64
D.128*128
4.对奇偶转置排序进行OpenMP并行化,第一种策略是直接对内层循环使用omp parallel for指令,第二种策略是对外层循环使用omp parallel指令,对内层循环使用omp for指令,后者相对于前者的优点是____。
A.保持了数据依赖
B.消除了大量线程创建、销毁开销
C.有利于负载均衡
D.减少了线程间交互
5.在对互斥量进行解锁时,还会执行____操作。
A.互斥量初始化
B.互斥量销毁
C.唤醒阻塞线程
D.以上皆错
6.采用划分子矩阵(大小b*b)的方法实现n*n矩阵乘法,一次乘—加运算涉及的子矩阵可全部放入cache,则整个计算过程中,两个输入矩阵的每个元素会产生____次访存。
A.n
B.t
C.n-t
D.n/t
7.关于pthread_create函数,下列说法错误的是____。
A.它返回是线程创建成功与否的错误码
B.线程属性参数使用空指针表示使用默认参数
C.它成功创建线程后立刻执行线程函数等待其结束后返回
D.可通过它将参数传递给线程函数
8.在使用条件变量之后必须对其进行____。
A.初始化
B.加锁
C.解锁
D.销毁
9.n个模块的总线,并发通信能力为____。
A.1
B.O(logn)
C.O(n)
D.O(nlogn)
10.对于起泡排序程序两层循环是否存在数据依赖,下面说法正确的是____。
A.外层存在,内层不存在
B.外层不存在,内层存在
C.两层都不存在
D.两层都存在
11.OpenMP是___架构下的一种编程工具。
A.SIMD
B.MISD
C.共享内存
D.分布式内存
12.在用pthread_mutex_trylock对互斥量进行加锁时,若其已上锁,则线程进入____状态。
A.初始化
B.阻塞
C.继续执行
D.销毁
13.在条件不成立时,使用pthread_cond_wait____。
A.令线程阻塞
B.解锁互斥量
C.解锁互斥量然后令线程阻塞
D.加锁互斥量
14.采用搜索分解设计15数码问题的并行算法,不包含下面哪个步骤____。
A.串行生成一定规模的搜索树
B.当前每个叶结点为根的子树搜索分配给一个处理器
C.发现解的处理器通知其他处理器
D.将所有处理器的结果组合成最终解
15.神威.太湖之光采用的申威26010处理器是一种____架构。
A.单核
B.多核
C.众核
D.多CPU
16.下列哪门课程不是并行程序设计的先导课?
A.计算机概论
B.高级语言程序设计
C.计算机体系结构
D.数据库系统
17.OpenMP默认采用____循环划分策略。
A.静态
B.固定
C.动态
D.自适应
18.CUDA内存层次中不包括____。
A.全局内存
B.共享内存
C.分布式内存
D.寄存器
19.采用多核、众核技术提升CPU性能,相对于单核的优势不包括____。
A.架构设计更容易
B.更易突破物理极限
C.能更充分利用现有资源
D.功耗优势明显
20.加速比计算中串行时间应该取求解同一问题的哪个串行算法的时间____。
A.任意一个串行算法
B.作为并行算法基础的那个串行算法
C.已知最优的串行算法
D.所有串行算法的平均时间
21.如果运算对象是独立无关的变量,则在向量运算之前需____。
A.将变量拷贝到连续区域
B.将变量地址拷贝到连续区域
C.将变量逐个传输到向量寄存器
D.以上皆错
22.当处理器数量不变时,随着问题规模增大,效率增大对____成立。
A.部分并行算法
B.所有并行算法
C.所有并行算法都不
D.以上皆错
23.一个SSE寄存器可容纳____个双精度浮点数。
A.2
B.4
C.8
D.16
24.在使用信号量之前必须对其进行____。
A.初始化
B.加锁
C.加1
D.销毁
25.超算领域软件应用的最高奖项是____。
A.图灵奖
B.菲尔茨奖
C.诺贝尔奖
D.戈登?贝尔奖
26.MPI默认点对点通信模式是____。
A.阻塞的
B.非阻塞的
C.对等的
D.主从的
27.16步循环,4个线程,循环0-3、4-7、8-11、12-15分别分配给线程0、1、2、3,这是OpenMP的____划分策略。
A.static
B.fixed
C.dynamic
D.guided
28.每个MMX寄存器宽度为____位。
A.32
B.64
C.128
D.256
29.OpenMP中指定单线程执行的指令是____。
A.omp atomic
B.omp only
C.omp static
D.omp single
30.对矩阵每行排序的程序进行多线程并行化,对矩阵采用____。
A.简单均匀块划分即可保证负载均衡
B.循环划分才能实现负载均衡
C.动态划分才能实现负载均衡
D.随机划分才能实现负载均衡
31.当前并行软件面临的主要挑战不包括____。
A.能耗
B.伸缩性
C.研发周期
D.可靠性
32.CUDA共享内存是由____共享。
A.Grid中所有线程
B.一个Block中所有线程
C.一个Warp中所有线程
D.GPU中所有线程
33.pthread_create函数中线程函数指针的正确类型是____。
A.void (void *)
B.void * (void *)
C.int (void)
D.void * (*)(void *)
34.采用MPI主从模型解决矩阵每行排序问题,主进程每次向一个从进程发送10行作为一个任务相对于每次发送1行的优点是____。
A.更有利于负载均衡
B.减少了通信开销
C.降低了计算次数
D.减少了从进程空闲
35.SSE的shuffle指令的8位二进制整数参数被划分为4个2位二进制整数imm8[0:3],若imm8[1]=j则表示___。
A.将第一个源寄存器的第j个元素放在目标寄存器位置1
B.将第二个源寄存器的第j个元素放在目标寄存器位置1
C.将第一个源寄存器的第1个元素放在目标寄存器位置1
D.将第二个源寄存器的第1个元素放在目标寄存器位置1
36.在矩阵乘法之前将第二个矩阵转置,其作用不包括____。
A.增大访存空间局部性
B.减少运算次数
C.优化SIMD访存
D.以上皆错
37.两个MPI进程A和B相互收发消息,关于死锁下面说法正确的是____。
A.均为先向对方发再从对方收不会产生死锁
B.均为先向对方发再从对方收可能产生死锁
C.一个先发后收另一个先收后发必然死锁
D.一个先发后收另一个先收后发不会产生死锁
38.在SSE intrinsics程序中单精度浮点数数据类型是____。
A.__m128
B.__m128f
C.__m128d
D.__m128i
39.多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是
A.读取x存在数据依赖,不能并发进行
B.累加顺序被改变,结果是错误的
C.加法操作是简单运算,无需同步
D.加法操作不是原子操作,需要同步保证数据依赖
40.编写矩阵乘法的Neon程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。
A.2
B.4
C.8
D.16
41.两个矩阵相乘,将其划分为b*b大小的子矩阵,采用子矩阵乘—加的方式完成矩阵乘法,则b与cache大小C之间的关系为____时性能最好
A.b*b<=C
B.2*b*b<=C
C.3*b*b<=C
D.8*b*b<=C
42.对矩阵乘法串行程序主体三重循环的最内层循环进行向量化,则该循环执行完毕后,就计算出了结果矩阵的一个元素,这种说法是____。
A.正确的
B.错误的
43.对单精度浮点数矩阵乘法程序进行SSE并行化,预期加速比为____。
A.等于8
B.4到8之间
C.等于4
D.小于4
44.一个AVX寄存器最多存放____个整型数。
A.2
B.4
C.8
D.16
45.一个AVX寄存器最多存放____个短整型数。
A.2
B.4
C.8
D.16
46.对矩阵乘法进行多线程并行化,对矩阵采用____。
A.简单均匀块划分即可保证负载均衡
B.循环划分才能实现负载均衡
C.动态划分才能实现负载均衡
D.随机划分才能实现负载均衡
47.____执行pthread_sem_post操作,当前线程会唤醒阻塞线程。
A.当信号量已加锁时
B.当信号量为0时
C.当信号量已超过阈值时
D.当信号量已销毁时
48.MPI收发各一条消息的API是_____。
A.MPI_Sendrecv
B.MPI_Send
C.MPI_Recv
D.MPI_Replace
49.SSE intrinsics _mm_load_ps命令的功能是____。
A.对齐向量读取单精度浮点数
B.未对齐向量读取单精度浮点数
C.对齐向量读取双精度浮点数
D.未对齐向量读取双精度浮点数
50.指定线程间划分循环策略的OpenMP子句是____。
A.shared
B.reduction
C.schedule
D.nowait