6.3 目标代码形式 对于 OpenMP 的并行域管理功能的实现,一部分在代码变换中体现,另一部分在运行库 中提供支持。对于并行域如此复杂的功能,全部依靠代码翻译变换来完成并不现实,因此许多 功能就只好压入到运行库中。如此一来,编译工作关于并行域管理的部分反而变得简单,而运 行库则需要负担更多的工作。此时在代码变换上只留下了启动并行域的代码(包括执行任务函 数)、任务函数的封装两大任务。可行的目标代码形式如图 6.4: 图 6.4 parallel 的目标代码框架 在 GCC 的 GOMP 中变换前后的代码形式如下: 1. #pragma omp parallel 变换前的代码 2. { 3. body; 4. } 下面是变换后的代码,分成两部分: 1. void subfunction (void *data) 这个是任务函数 2. { 3. use data; 4. body; 5. } …… 6. setup data; 数据共享、私有化等处理 7. GOMP_parallel_start (subfunction, &data, num_threads); 创建并行域 8. subfunction (&data); 调用任务函数 9. GOMP_parallel_end (); 退出并行域 上 面 的 代 码 变 换 与 图 6.4 基 本 一 致 , GOMP 中 的 GOMP_parallel_start() 和 GOMP_parallel_end()等函数是 GOMP 运行库中的函数。OMPi 的实现略有不同。 这里只是给出实现 OpenMP 并行域管理的代码基本形式,与具体的 C 编程语言绑定的代 码“框架”将在第 9 章给出。 串行代码 并 行 域 #pragma omp parallel 数据环境准备 并行域创建代码 …… 执行任务函数 …… 退出并行域 { …… …… …… } 任务函数 封装 替换
2021-11-08 17:02:03 4.28MB OpenMP
1
ACE开发者编写的ACE手册分两卷,本卷介绍基于ACE提供的wrapper facades的应用框架集。
2021-11-08 15:16:22 8.93MB ACE
1
第1章 用于网络编程的面向对象框架 第2章 服务和配置设计维度 第3章 ACE Reactor框架 第4章 ACE Reactor实现 第5章 ACE Service Configurator框架 第6章 ACE Task框架 第7章 ACE Acceptor-Connector框架 第8章 ACE Proactor框架 第9章 ACE Streams框架
2021-11-08 14:59:13 10.23MB C++网络编程 ACE 中文版 PDF
1
ACE算法大全
2021-11-05 16:57:47 9.84MB ACE算法大全
1
第三版
2021-11-05 16:42:17 2.52MB Analysis I Terence Tao
1
全面的AutoCAD Electrical 软件学习资料
2021-11-02 00:43:29 17.56MB ACE AutoCAD
1
C++网络编程 卷1 运用ACE和模式消除复杂性.pdf C++网络编程 卷2 基于ACE和框架的系统化复用.pdf 上篇:ACE技术论文集.pdf 下篇:ACE应用实例.pdf 中篇:ACE程序员教程.pdf
2021-10-29 20:46:01 12.84MB ACE
1
ACE-5.5.zip,适用于windows环境开发,在编译myseelite的时候用到。
2021-10-29 18:05:47 19.42MB ACE-5.5
1
环境搭建的基本步骤及相关的网站网址的连接,测试搭建环境是否成功说明;
2021-10-27 21:49:33 1KB txt
1
ace是一个漂亮的前端模板,适用于后台管理程序的设计,基于bootstrap.
2021-10-22 21:11:44 1.2MB bootstrap ace
1