- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行计算期末试题
适用专业:理工类
考试说明:
将试卷答案以学号命名为word文件,如115042101.doc,上传到03/upload。
第一、二大题,直接将答案写在题后;第三、四题要求将程序补充、编写完整并将运行结果截图插在题目后面。
一、简述题(每小题4分,共20分)。
1、简述openmp编译制导指令master,single,critical,atomic的功能。
1.master制导语句指定代码段只能被主线程执行
2. single编译制导语句指定内部代码只能由线程组中的一个线程执行。线程组中没有执行single语句的线程会一直等待代码块的结束,使用nowait子句除外。
3.critical制导语句表明域中的代码一次只能由一个线程执行,其他线程被阻塞在临界区
4.atomic制导语句指定特定的存储单元将被原子更新
2、简述openmp编译制导子句shared,private的功能?简述openmp编译制导指令threadprivate的功能。
1.private子句表示它列出的变量对于每个线程是局部的 。
2.shared子句表示它所列出的变量被线程组中所有的线程共享,所有线程都能对它进行读写访问。
3.threadprivate语句使一个全局文件作用域的变量在并行域内变成每个线程私有,每个线程对该变量复制一份私有拷贝并在多个并行域中保持。
3、简述openmp函数omp_set_num_threads,omp_get_num_threads,omp_get_thread_num的功能;环境变量OMP_NUM_THREADS的功能。
omp_set_num_threads
omp_get_num_threads
omp_get_thread_num
OMP_NUM_THREADS:定义执行中最大的线程数
4、简述MPI点对点通信与MPI集合通信的区别。
1)在通信子中的所有进程都必须调用相同的集合通信函数。
2)每个进程传递给MPI集合通信函数的参数必须是“相容的”。
3)参数output_data_p只用在dest_process上。然而,所有进程仍需要传递一个与output_data_p相对应的实际参数,即使它的值只是NULL。
4)点对点通信函数是通过标签和通信子来匹配的。集合通信函数不使用标签,只通过通信子和调用的顺序来进行匹配。
5、简述并行计算机的三种内存架构。
答:1.共享内存2.分布式内存3.混合型分布式共享内存
二、与并行计算相关的名词术语翻译(英译汉,每小题1分,共20分)。
1、Task 任务
2、Parallel Task并行任务
3、Serial Execution 串行执行Parallel Execution 并行执行
5、Pipelining 流水线技术
6、Shared Memory共享内存
7、Symmetric Multi-Processor (SMP) 对称多处理器
Distributed Memory分布式存储
Communications 通信
10、Synchronization 同步
11、Granularity 粒度
Observed Speedup 测量加速比
13、Parallel Overhead并行开销
Massively Parallel大规模并行
Embarrassingly Parallel易并行计算
16、Scalability 可扩展性
17、Multi-core Processors 多核处理器
18、Cluster Computing集群计算Supercomputing / High Performance Computing高性能计算
20、Cloud computing 云计算
三、补充程序(每小题10分,共30分)
1、下列OpenMP程序要求运行时获取每个线程的id号并输出,主线程获取总的线程数并输出。请补充适当的OpenMP编译制导指令和函数调用,要求运行时启动4个线程。
#include stdio.h
#include omp.h
int main (int argc,char *argv[]) {
int nthreads, tid;
/* Fork a team of threads with each thread having a private tid variable */
#pragma omp parallel private(tid)
{
/* Obtain and print thread id */
tid = omp_get_thread_num();
printf(Hello World from thread = %d\n, tid);
/* Only master th
文档评论(0)