• OpenACC并行编程实战
  • OpenACC并行编程实战
  • OpenACC并行编程实战
21年品牌 40万+商家 超1.5亿件商品

OpenACC并行编程实战

10 1.4折 69 九品

仅1件

江苏南京
认证卖家担保交易快速发货售后保障

作者何沧平 著

出版社机械工业出版社

出版时间2016-10

版次1

装帧平装

货号中6-4

上书时间2024-10-15

南京昌顺书店

五年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 何沧平 著
  • 出版社 机械工业出版社
  • 出版时间 2016-10
  • 版次 1
  • ISBN 9787111549659
  • 定价 69.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 265页
  • 字数 200千字
  • 丛书 高性能计算技术丛书
【内容简介】

中国*大OpenACC技术社区创建者撰写,为数不多系统介绍OpenACC的技术专著。全面讲解OpenACC编程规范、语法的行为机理与设计动机,160个完整示例覆盖众多并行编程场景。

 

全书分10章,按照并行程序开发步骤组织,建议第*遍顺序阅读。

 

第1章介绍主流加速器产品的硬件架构、主流并行编程模型等,以期读者对并行编程生态有全面了解。

 

第2章介绍OpenACC语言的设计思路,并列出OpenACC的主要语法供快速查阅。

 

第3章是本书核心,将大量计算并行化,这是程序提速的根本手段。用大量示例讲述两个计算构件parallel和kernels的行为特点,然后用它并行化Jacobi 迭代。

 

第4章介绍多种数据管理工具,包含结构化子语copy/create/present、结构化导语data、非结构化导语enter data/exit data/update/declare等,将加速器带来的数据移动时间减到*少。

 

第5章介绍routine导语,嵌套调用并行化自定义函数,用来开发大型程序。

 

第6章讲解用异步队列隐藏数据传输时间、调度多个加速器同时工作等高级特性。

 

第7章介绍OpenACC与CUDA C/CUDA Fortran和各类库的混合编程。

 

第8章是所有的运行时函数,以供读者编程查阅。

 

第9章指导部署开发环境,以便快速上手。

 

第10章介绍神威·太湖之光的编程模型及其对OpenACC的功能扩展。

 


【作者简介】

何沧平,华为高级工程师,NVIDIA认证 CUDA培训师。曾任中科曙光HPC事业部工程师,完成全球天气预报程序并行化项目(加速30倍)和国家气象局天气预报程序并行化项目等,实战经验丰富。精通OpenACC、CUDA Fortran、CUDA C,熟悉OpenMP、MPI编程。2012年初开始关注研究OpenACC,陆续翻译OpenACC 1.0/2.0/2.0a/2.5语言规范以及《CUDA Fortran高效编程实践》,撰写大量在线技术教程,并建立中国*大OpenACC QQ交流群和资源网站,持续推广。

 


【目录】
序 

前言 

第1章 并行编程概览1 

1.1 加速器产品1 

1.1.1 英伟达GPU3 

1.1.2 英特尔至强融核处理器9 

1.2 并行编程语言12 

1.3 CUDA C14 

1.3.1 线程组织方式16 

1.3.2 运行过程18 

1.3.3 内存层级20 

1.3.4 性能优化技术21 

第2章 OpenACC概览22 

2.1 OpenACC规范的内容23 

2.1.1 抽象加速器模型25 

2.1.2 存储模型25 

2.1.3 计算执行模型26 

2.2 OpenACC 2.5规范29 

第3章 OpenACC计算构件36 

3.1 条件编译37 

3.2 导语格式38 

3.3 计算构件kernels40 

3.3.1 构件内有1个循环41 

3.3.2 构件内2个循环44 

3.3.3 构件内二重嵌套循环45 

3.3.4 kernels构件内三重嵌套循环48 

3.4 loop构件52 

3.4.1 independent子语53 

3.4.2 reduction归约子语57 

3.4.3 不常用的子语64 

3.5 计算构件parallel66 

3.5.1 gang单独模式68 

3.5.2 gang分裂模式70 

3.5.3 二重循环73 

3.5.4 三重循环75 

3.6 组合导语77 

3.7 案例研究:Jacobi迭代78 

3.7.1 CPU上并行化84 

3.7.2 GPU上并行化88 

3.8 原子操作:atomic导语91 

第4章 数据管理97 

4.1 数据属性、数据区域和数据生存期99 

4.2 计算构件的伴随数据区域100 

4.2.1 引用计数101 

4.2.2 present子语102 

4.2.3 copy子语104 

4.2.4 copyin子语105 

4.2.5 copyout子语107 

4.2.6 create子语108 

4.2.7 数据子语内的子数组111 

4.2.8 private私有子语112 

4.2.9 承上私有firstprivate子语115 

4.2.10 带有预置数据属性的变量116 

4.2.11 default默认子语117 

4.2.12 案例研究:Jacobi迭代优化数据传输117 

4.3 data构件119 

4.3.1 数据管理功能119 

4.3.2 deviceptr子语121 

4.3.3 案例研究:data构件迭代优化Jacobi数据传输122 

4.4 enter data导语和exit data导语128 

4.4.1 C++类的数据生存期129 

4.4.2 传递设备数据指针133 

4.5 update导语135 

4.6 declare导语138 

4.6.1 device_resident子语139 

4.6.2 create子语140 

4.6.3 link子语140 

4.6.4 用法举例141 

4.7 特定设备的子语146 

第5章 计算区域内的过程调用148 

5.1 routine导语150 

5.2 seq子语(C版)151 

5.3 seq子语(Fortran版)152 

5.4 routine(名字)154 

5.5 bind子语155 

5.6 用子语指定并行级别155 

5.6.1 vector级别并行156 

5.6.2 worker、worker级别并行159 

5.7 计算圆周率π160 

第6章 高级特性164 

6.1 异步操作164 

6.1.1 async子语165 

6.1.2 wait子语165 

6.1.3 wait导语166 

6.2 设备计算与主机计算重叠166 

6.3 设备上同时执行多个队列169 

6.4 重叠计算与数据传输172 

6.4.1 步骤0:串行代码174 

6.4.2 步骤1:计算并行化177 

6.4.3 步骤2:分块计算178 

6.4.4 步骤3:数据分块传输179 

6.4.5 步骤4:重叠计算与传输181 

6.5 双向传输183 

6.6 多个设备同时运算185 

6.6.1 环境变量186 

6.6.2 运行过程中选择设备186 

6.6.3 OpenMP调动多个设备195 

第7章 与GPU生态环境互操作202 

7.1 OpenACC调用CUDA C203 

7.2 OpenACC调用CUDA Fortran205 

7.3 CUDA C调用OpenACC207 

7.4 捆绑主机地址与设备地址208 

7.5 CUDA Fortran调用OpenACC210 

7.6 OpenACC(C)调用cuBLAS211 

7.7 OpenACC(Fortran)调用cuBLAS212 

第8章 运行时函数213 

8.1 运行时库的定义213 

8.2 运行时库例程215 

8.2.1 acc_get_num_devices215 

8.2.2 acc_set_device_type216 

8.2.3 acc_get_device_type217 

8.2.4 acc_set_device_num217 

8.2.5 acc_get_device_num218 

8.2.6 acc_init218 

8.2.7 acc_shutdown219 

8.2.8 acc_async_test219 

8.2.9 acc_async_test_all220 

8.2.10 acc_wait220 

8.2.11 acc_wait_async221 

8.2.12 acc_wait_all221 

8.2.13 acc_wait_all _async222 

8.2.14 acc_get_default_async222 

8.2.15 acc_set_default_async223 

8.2.16 acc_on_device223 

8.2.17 acc_malloc224 

8.2.18 acc_free224 

8.2.19 acc_copyin225 

8.2.20 acc_create226 

8.2.21 acc_copyout227 

8.2.22 acc_delete228 

8.2.23 acc_update_device229 

8.2.24 acc_update_self230 

8.2.25 acc_map_data231 

8.2.26 acc_unmap_data231 

8.2.27 acc_deviceptr231 

8.2.28 acc_hostptr232 

8.2.29 acc_is_present232 

8.2.30 acc_memcpy_to_device233 

8.2.31 acc_memcpy_from_device233 

8.2.32 acc_memcpy_device234 

第9章 开发环境搭建235 

9.1 Windows 7236 

9.2 Linux(rhel)244 

9.3 编译工具、特性支持度247 

第10章 在神威·太湖之光上使用OpenACC253 

10.1 SW26010众核处理器253 

10.2 存储模型254 

10.3 执行模型256 

10.4 数据管理256 

附录 著名超级计算机259 

后记 码农的悲喜264
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP