详情请咨询QQ:3494317897 微信:aopy98
22秋学期(高起本1709-1803、全层次1809-2103)《并行程序设计》在线作业-00001 试卷总分:100 得分:100 一、单选题 (共 50 道试题,共 100 分) 1.SSE intrinsics _mm_load_sd命令的功能是____。 A.对齐标量读取单精度浮点数 B.未对齐标量读取单精度浮点数 C.对齐标量读取双精度浮点数 D.未对齐标量读取双精度浮点数
2.在使用信号量之后必须对其进行____。 A.初始化 B.解锁 C.减1 D.销毁
3.下列哪门课程不是并行程序设计的先导课? A.计算机概论 B.高级语言程序设计 C.计算机体系结构 D.数据库系统
4.SIMD并行架构的优点不包括____。 A.辅助提供更大并发度 B.设计简单 C.编程简单 D.更小的芯片尺寸
5.在矩阵乘法的串行程序中,对____部分进行向量化收益最大。 A.初始化 B.第二个矩阵转置循环 C.矩阵元素乘—加计算的循环 D.结果输出
6.pthread_join的第二个参数的作用是____。 A.设置指定线程属性 B.获取指定线程属性 C.向指定线程传递参数 D.获取指定线程函数返回结果
7.如果运算结果要保存到独立无关的变量,则在向量运算之后需要进行的一个操作是____。 A.对齐 B.打包 C.解包 D.以上皆错
8.对两个互斥量a、b,线程1执行lock(a); lock(b);,线程2执行lock(b); lock(a),则两个线程间会发生____。 A.竞争条件 B.数据依赖 C.资源泄漏 D.死锁
9.SSE寄存器A和B中元素分别为A1 A2 A3 A4和B1 B2 B3 B4(均为由低到高),则执行C=blend(A, B, 0x05)后,C中元素为 A.A1 A2 B3 B4 B.B1 B2 A3 A4 C.A1 B2 A3 B4 D.B1 A2 B3 A4
10.C/C++语言存储二维数组采取____。 A.行主次序存储 B.列主次序存储 C.交错式存储 D.对角线存储
11.单精度浮点数矩阵乘法进行AVX并行,期望的加速比为____. A.等于8 B.小于8 C.4到8之间 D.等于4
12.SIMD架构中,_____。 A.唯一控制单元控制所有计算单元 B.每个计算单元独有控制单元 C.一组计算单元共享一个控制单元 D.以上皆错
13.编写n个数求和的OpenMP程序,最高效的方法是____。 A.多线程直接并发累加到共享变量 B.将累加操作设置为临界区 C.在累加操作前设置障碍 D.采用归约指令
14.每个SSE寄存器宽度为____位。 A.32 B.64 C.128 D.256
15.互斥量是一种____同步机制。 A.一元状态 B.二元状态 C.多元状态 D.以上皆错
16.四位助教帮助教授批改300份试卷,试卷共16道题,每位助教负责批改75份试卷,这是一种____任务划分方法。 A.数据并行 B.任务并行 C.搜索并行 D.预测并行
17.Pthread是_____线程接口标准。 A.Linux B.POSIX C.Windows D.IOS
18.在SSE intrinsics程序中整数数据类型是____。 A.__m128 B.__m128f C.__m128d D.__m128i
19.pthread_rwlock_rdlock是对读写锁进行____操作。 A.加锁 B.解锁 C.加读琐 D.加写锁
20.n个数求和的串行程序,通过一个循环将每个数累加到全局变量sum中,其多线程版本简单将循环范围改变为每个线程负载的范围,存在的问题是____。 A.负载不均 B.通信开销大 C.CPU空闲等待严重 D.sum累加产生竞争条件,导致结果错误
21.数据依赖是指必须保持两个内存操作的____才能保证程序结果正确。 A.大小 B.时序 C.时长 D.cache局部性
22.OpenMP并行模型是一种____编程模型。 A.静态线程 B.动态线程 C.混合线程 D.众核
23.关于pthread_create的第一个pthread_t参数,下列说法错误的是____。 A.它是输出参数 B.它返回线程系统ID C.它返回线程的pthread ID D.需要为它预先分配内存
24.并行算法运行时间是指____。 A.最快进程花费时间 B.所有进程平均花费时间 C.所有进程花费总时间 D.最慢进程花费时间
25.下面哪个问题相对而言更不适合进行数据并行____。 A.求和 B.排序 C.向量加法 D.矩阵乘法
26.AVX_512有____个专用寄存器。 A.4 B.8 C.16 D.32
27.在使用条件变量之后必须对其进行____。 A.初始化 B.加锁 C.解锁 D.销毁
28.当问题规模不变时,随着处理器数量增大,加速比____。 A.必然增大 B.必然减小 C.必然不变 D.以上皆错
29.一个Neon寄存器最多存放____个短整型数。 A.2 B.4 C.8 D.16
30.动态任务划分相对于静态任务划分的优点是____。 A.确保负载均衡 B.通信开销低 C.实现简单 D.计算复杂度低
31.现代CPU中都具有指令乱序执行功能,其目的不包括____。 A.消除指令依赖,更充分利用多流水线 B.提高cache效率 C.改变计算结果 D.消除资源冲突
32.在共享内存架构编程中,线程间不能通过____进行通信 A.全局变量 B.局部变量 C.静态变量 D.全局堆中变量
33.OpenMP程序和Pthread程序中线程获得自身编号的方式分别是____。 A.两者均为创建线程时传递参数 B.两者均通过特定API C.前者创建线程时传递参数,后者通过特定API D.前者通过特定API,后者创建线程时传递参数
34.for (i=0; i<16; i+=1) { L = A[i+0] – B[i+0]; D = D + abs(L); },此循环____。 A.可完全向量化 B.不可向量化 C.不确定 D.可部分向量化
35.单程序多数据流模式是针对____架构的。 A.SISD B.SIMD C.MISD D.MIMD
36.在使用条件变量时,还需配套使用一个____。 A.互斥量 B.信号量 C.障碍 D.自旋锁
37.全球500强超算在CPU、网络等硬件上越来越体现出采用____的趋势。 A.特殊硬件 B.通用硬件 C.非公开硬件 D.廉价硬件
38.OpenMP中多线程间是一种____关系。 A.主从 B.分组 C.对等 D.竞争
39.SSE是____平台的SIMD架构。 A.x86 B.POWER C.SPARC D.ARM
40.多个线程进行并行求和,每个线程将自己负责的值依次读入局部变量x,累加到全局变量sum上,sum+=x,对此,下面说法正确的是 A.读取x存在数据依赖,不能并发进行 B.累加顺序被改变,结果是错误的 C.加法操作是简单运算,无需同步 D.加法操作不是原子操作,需要同步保证数据依赖
41.我们不能通过____指定OpenMP循环划分策略。 A.使用编译指示 B.设置环境变量 C.调用库函数 D.采用默认设置
42.以下说法错误的是____。 A.全归约的高效算法基于多对多广播的高效算法 B.全归约高效算法基于一对多广播的高效算法 C.前缀和的高效算法基于多对多广播的高效算法 D.前缀和的高效算法中的通信模式于全归约的高效算法相似
43.编写矩阵乘法的Neon程序,若矩阵元素为双精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。 A.2 B.4 C.8 D.16
44.CUDA的优点不包括____。 A.可移植性 B.入门简单 C.标准的SPMD模式 D.不再需要图形API
45.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.以上皆错
46.编写矩阵乘法的AVX程序,若矩阵元素为单精度浮点数,则应对矩阵乘—加计算的循环进行____路循环展开。 A.2 B.4 C.8 D.16
47.OpenMP编译指示中说明共享变量是用____子句。 A.private B.shared C.schedule D.nowait
48.动态任务划分相对于静态任务划分的缺点是____。 A.可能导致负载不均 B.通信开销高 C.任务粒度粗 D.计算复杂度高
49.SSE intrinsics _mm_loadu_pd命令的功能是____。 A.对齐向量读取单精度浮点数 B.未对齐向量读取单精度浮点数 C.对齐向量读取双精度浮点数 D.未对齐向量读取双精度浮点数
50.互斥量mutex机制,在任何时刻____进入它保护的区域。 A.允许任意数量任意类型的线程 B.允许一个读线程任意个写线程 C.允许一个写线程任意个读线程 D.只允许一个线程 奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ:3494317897 微信:aopy98 |