登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』OpenACC并行编程实战

書城自編碼: 2915778
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 何沧平
國際書號(ISBN): 9787111549659
出版社: 机械工业出版社
出版日期: 2016-10-01
版次: 1 印次: 1
頁數/字數: 265/200000
書度/開本: 16开 釘裝: 平装

售價:NT$ 518

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
旷野人生:吉姆·罗杰斯的全球投资探险
《 旷野人生:吉姆·罗杰斯的全球投资探险 》

售價:NT$ 345.0
希腊人(伊恩·莫里斯文明史系列)
《 希腊人(伊恩·莫里斯文明史系列) 》

售價:NT$ 845.0
世界巨变:严复的角色(王中江著作系列)
《 世界巨变:严复的角色(王中江著作系列) 》

售價:NT$ 500.0
塔西佗(全二册)(二十世纪人文译丛)
《 塔西佗(全二册)(二十世纪人文译丛) 》

售價:NT$ 1800.0
宋初三先生集(中国思想史资料丛刊)
《 宋初三先生集(中国思想史资料丛刊) 》

售價:NT$ 990.0
简帛时代与早期中国思想世界(上下册)(王中江著作系列)
《 简帛时代与早期中国思想世界(上下册)(王中江著作系列) 》

售價:NT$ 1400.0
天生坏种:罪犯与犯罪心理分析
《 天生坏种:罪犯与犯罪心理分析 》

售價:NT$ 445.0
新能源材料
《 新能源材料 》

售價:NT$ 290.0

建議一齊購買:

+

NT$ 413
《 Java程序员面试笔试真题库 》
+

NT$ 828
《 Visual C++ 2013入门经典(第7版)(.NET开发经典名著) 》
+

NT$ 529
《 ASP.NET项目开发详解(配光盘)(网站开发非常之旅) 》
+

NT$ 642
《 .NET最佳实践(.NET领域公认经典著作,包含大量最佳实践,译著双馨) 》
+

NT$ 323
《 Visual Basic程序设计(第3版) 》
編輯推薦:
1)HPC领域资深专家推荐,中国*OpenACC技术社区创建者撰写,不可多得的OpenACC技术专著
2)全面讲解OpenACC编程规范、语法的行为机理与设计动机,160个完整示例覆盖众多并行编程场景
內容簡介:
中国最大OpenACC技术社区创建者撰写,为数不多系统介绍OpenACC的技术专著。全面讲解OpenACC编程规范、语法的行为机理与设计动机,160个完整示例覆盖众多并行编程场景。
全书分10章,按照并行程序开发步骤组织,建议第一遍顺序阅读。
第1章介绍主流加速器产品的硬件架构、主流并行编程模型等,以期读者对并行编程生态有全面了解。
第2章介绍OpenACC语言的设计思路,并列出OpenACC的主要语法供快速查阅。
第3章是本书核心,将大量计算并行化,这是程序提速的根本手段。用大量示例讲述两个计算构件parallel和kernels的行为特点,然后用它并行化Jacobi 迭代。
第4章介绍多种数据管理工具,包含结构化子语copycreatepresent、结构化导语data、非结构化导语enterdataexit dataupdatedeclare等,将加速器带来的数据移动时间减到最少。
第5章介绍routine导语,嵌套调用并行化自定义函数,用来开发大型程序。
第6章讲解用异步队列隐藏数据传输时间、调度多个加速器同时工作等高级特性。中国最大OpenACC技术社区创建者撰写,为数不多系统介绍OpenACC的技术专著。全面讲解OpenACC编程规范、语法的行为机理与设计动机,160个完整示例覆盖众多并行编程场景。
全书分10章,按照并行程序开发步骤组织,建议第一遍顺序阅读。
第1章介绍主流加速器产品的硬件架构、主流并行编程模型等,以期读者对并行编程生态有全面了解。
第2章介绍OpenACC语言的设计思路,并列出OpenACC的主要语法供快速查阅。
第3章是本书核心,将大量计算并行化,这是程序提速的根本手段。用大量示例讲述两个计算构件parallel和kernels的行为特点,然后用它并行化Jacobi 迭代。
第4章介绍多种数据管理工具,包含结构化子语copycreatepresent、结构化导语data、非结构化导语enter
dataexit dataupdatedeclare等,将加速器带来的数据移动时间减到最少。
第5章介绍routine导语,嵌套调用并行化自定义函数,用来开发大型程序。
第6章讲解用异步队列隐藏数据传输时间、调度多个加速器同时工作等高级特性。
第7章介绍OpenACC与CUDA CCUDA Fortran和各类库的混合编程。
第8章是所有的运行时函数,以供读者编程查阅。
第9章指导部署开发环境,以便快速上手。
第10章介绍神威?太湖之光的编程模型及其对OpenACC的功能扩展。
關於作者:
何沧平,华为高级工程师,NVIDIA认证 CUDA培训师。曾任中科曙光HPC事业部工程师,完成全球天气预报程序并行化项目(加速30倍)和国家气象局天气预报程序并行化项目等,实战经验丰富。精通OpenACC、CUDA Fortran、CUDA C,熟悉OpenMP、MPI编程。2012年初开始关注研究OpenACC,陆续翻译OpenACC 1.02.02.0a2.5语言规范以及《CUDA Fortran高效编程实践》,撰写大量在线技术教程,并建立中国最大OpenACC QQ交流群和资源网站,持续推广。
目錄
Contents目录序前言第1章 并行编程概览11.1 加速器产品11.1.1 英伟达GPU31.1.2 英特尔至强融核处理器91.2 并行编程语言121.3 CUDA C141.3.1 线程组织方式161.3.2 运行过程181.3.3 内存层级201.3.4 性能优化技术21第2章 OpenACC概览222.1 OpenACC规范的内容232.1.1 抽象加速器模型252.1.2 存储模型252.1.3 计算执行模型262.2 OpenACC 2.5规范29第3章 OpenACC计算构件363.1 条件编译373.2 导语格式383.3 计算构件kernels403.3.1 构件内有1个循环413.3.2 构件内2个循环443.3.3 构件内二重嵌套循环453.3.4 kernels构件内三重嵌套循环483.4 loop构件523.4.1 independent子语533.4.2 reduction归约子语573.4.3 不常用的子语643.5 计算构件parallel663.5.1 gang单独模式683.5.2 gang分裂模式703.5.3 二重循环733.5.4 三重循环753.6 组合导语773.7 案例研究:Jacobi迭代783.7.1 CPU上并行化843.7.2 GPU上并行化883.8 原子操作:atomic导语91第4章 数据管理974.1 数据属性、数据区域和数据生存期994.2 计算构件的伴随数据区域1004.2.1 引用计数1014.2.2 present子语1024.2.3 copy子语1044.2.4 copyin子语1054.2.5 copyout子语1074.2.6 create子语1084.2.7 数据子语内的子数组1114.2.8 private私有子语1124.2.9 承上私有firstprivate子语1154.2.10 带有预置数据属性的变量1164.2.11 default默认子语1174.2.12 案例研究:Jacobi迭代优化数据传输1174.3 data构件1194.3.1 数据管理功能1194.3.2 deviceptr子语1214.3.3 案例研究:data构件迭代优化Jacobi数据传输1224.4 enter data导语和exit data导语1284.4.1 C类的数据生存期1294.4.2 传递设备数据指针1334.5 update导语1354.6 declare导语1384.6.1 device_resident子语1394.6.2 create子语1404.6.3 link子语1404.6.4 用法举例1414.7 特定设备的子语146第5章 计算区域内的过程调用1485.1 routine导语1505.2 seq子语(C版)1515.3 seq子语(Fortran版)1525.4 routine(名字)1545.5 bind子语1555.6 用子语指定并行级别1555.6.1 vector级别并行1565.6.2 worker、worker级别并行1595.7 计算圆周率160第6章 高级特性1646.1 异步操作1646.1.1 async子语1656.1.2 wait子语1656.1.3 wait导语1666.2 设备计算与主机计算重叠1666.3 设备上同时执行多个队列1696.4 重叠计算与数据传输1726.4.1 步骤0:串行代码1746.4.2 步骤1:计算并行化1776.4.3 步骤2:分块计算1786.4.4 步骤3:数据分块传输1796.4.5 步骤4:重叠计算与传输1816.5 双向传输1836.6 多个设备同时运算1856.6.1 环境变量1866.6.2 运行过程中选择设备1866.6.3 OpenMP调动多个设备195第7章 与GPU生态环境互操作2027.1 OpenACC调用CUDA C2037.2 OpenACC调用CUDA Fortran2057.3 CUDA C调用OpenACC2077.4 捆绑主机地址与设备地址2087.5 CUDA Fortran调用OpenACC2107.6 OpenACC(C)调用cuBLAS2117.7 OpenACC(Fortran)调用cuBLAS212第8章 运行时函数2138.1 运行时库的定义2138.2 运行时库例程2158.2.1 acc_get_num_devices2158.2.2 acc_set_device_type2168.2.3 acc_get_device_type2178.2.4 acc_set_device_num2178.2.5 acc_get_device_num2188.2.6 acc_init2188.2.7 acc_shutdown2198.2.8 acc_async_test2198.2.9 acc_async_test_all2208.2.10 acc_wait2208.2.11 acc_wait_async2218.2.12 acc_wait_all2218.2.13 acc_wait_all _async2228.2.14 acc_get_default_async2228.2.15 acc_set_default_async2238.2.16 acc_on_device2238.2.17 acc_malloc2248.2.18 acc_free2248.2.19 acc_copyin2258.2.20 acc_create2268.2.21 acc_copyout2278.2.22 acc_delete2288.2.23 acc_update_device2298.2.24 acc_update_self2308.2.25 acc_map_data2318.2.26 acc_unmap_data2318.2.27 acc_deviceptr2318.2.28 acc_hostptr2328.2.29 acc_is_present2328.2.30 acc_memcpy_to_device2338.2.31 acc_memcpy_from_device2338.2.32 acc_memcpy_device234第9章 开发环境搭建2359.1 Windows 72369.2 Linux(rhel)2449.3 编译工具、特性支持度247第10章 在神威太湖之光上使用OpenACC25310.1 SW26010众核处理器25310.2 存储模型25410.3 执行模型25610.4 数据管理256附录 著名超级计算机259后记 码农的悲喜264
內容試閱
前言Foreword2010年以来,中国超级计算机建设突飞猛进,欣欣向荣。一个原因是国力强盛,大力投资高新科技;另一个原因是整体科技水平提高,需求旺盛。天气预报、石油物探、工程仿真、基因测序等传统应用对计算资源的需求持续增长,以深度学习为代表的人工智能大爆发,资金雄厚的互联网公司对计算能力极度渴求。超级计算机的建设、应用主战场正在从教育科研单位转向科技企业。为什么要写这本书面对浩如烟海的数据,CPU已经力不从心,因此世界领先的超级计算机都装备大量的加速器或者众核处理器。目前主流加速器产品是NVIDIA GPU、AMD GPU和Intel至强Phi协处理器。三种加速器使用的编程语言分别为CUDA CCUDA Fortran、OpenCL和MIC导语。加速器计算有4个困难。一是CUDAOpenCL等低级语言编程难度大,且需要深入了解加速器的硬件结构。而大部分的用户不是专业编程人员,学习一门新的编程技术将耗费大量时间。二是加速器的计算模型与CPU差别很大,移植旧程序需要几乎完全重写。大量的旧程序在性能优化上已经千锤百炼,稳定性上也久经考验,完全重写是不可完成的任务。三是低级编程语言开发的程序与硬件结构密切相关,硬件升级时必须升级软件,否则将损失性能。而硬件每隔两三年就升级一次,频繁的软件升级将给用户带来巨大负担。四是投资方向难以选择。三种加速器均有自己独特的编程语言,且互不兼容。用户在投资建设硬件平台、选择软件开发语言时就会陷入困境,不知三种设备中哪个会在竞争中胜出。如果所选加速器将来落败,将会带来巨大损失;而犹豫不决又将错过技术变革的历史机遇。OpenACC应运而生,可以克服这4个困难。OpenACC的编程机制是,程序员只在原程序中添加少量编译标识,编译器根据作者的意图自动产生低级语言代码。无须学习新的编程语言和加速器硬件知识,便能迅速掌握。只添加少量编译标识,不破坏原代码,开发速度快,既可并行执行又可恢复串行执行。在硬件更新时,重新编译一次代码即可,不必手工修改代码。OpenACC标准制定时就考虑了目前及将来的多种加速器产品,同一份代码可以在多种加速器设备上编译、运行,无成本切换硬件平台。掌握OpenACC后,编写程序省时、省力、省心。本书特色笔者学习超算技术时有过苦泪:教材一上来就讲技术细节,只能机械地学习,不清楚这些算法、语法要解决什么问题,花费巨大精力后却发现解决不了自己的难题;新技术的资料往往是英文的,而且零碎,还不一定准确,收集、学习成本很高,求助无门;科学计算领域的祖师语言Fortran现在有点小众,新技术资料更少。为节省读者时间,本书特别重视易读性、易用性,具体有如下特点。第一本中文OpenACC技术书籍,方便国内读者系统阅读,快速掌握。全面、准确:本书覆盖OpenACC的所有特性,重要特性结合例子详细讲解,不常用的特性列出标准定义,方便查找。对特性、功能的描述均来自OpenACC规范,并用实例验证,确保准确。大量的例子:书中的示例代码超过160个,不是代码片断,而是完整代码,拿来即用。全部由笔者编写、测试,运行无报错。兼顾CC和Fortran:以CC为主来讲解,但所有的例子都有Fortran版的代码,Fortran专用特性会详细讲解。物理、气象等领域积累的优秀Fortran代码可以借此移植到新硬件上,重焕生机。阅读轻松:按照并行程序的编写、调优顺序,先交代各阶段面临的问题,然后自然引入OpenACC提供的解决办法,最后实测验证效果。一切顺理成章,读者不会有云里雾里的感觉。读者对象科学家:迅速改造旧程序,快速编写新的原型程序验证算法、理论,将更多的时间投入到高价值的科研创新中去。企业程序员:一套程序适配多种运行平台,维护简单;性能敏感的部分用CUDA等低层语言编写,性能不敏感部分用OpenACC编写,相互配合,兼得程序性能和开发效率。本科生、研究生:花最少的时间掌握一门计算工具,省出时间学习更多的知识。如何阅读本书第1章介绍超级计算技术的发展趋势和并行编程概况,可以从中了解OpenACC的作用。没有CUDA C基础的读者能够掌握基本概念,便于深入理解OpenACC的并行化技术。第2章介绍OpenACC语言的设计思路。第3~4章是本书的核心,将计算部分并行化,并将数据传递时间减到最少。至此,读者已经能够编写性能良好的OpenACC程序。第5~7章介绍高级并行技术,以进行极致性能优化,以及与CUDA CCUDA Fortran和各类库的混合编程。第8章给出OpenACC规定的所有运行时例程,不用细读,用到时再参考。第9章指导部署开发环境,以便快速上手。勘误和支持本人水平有限,错误与疏漏在所难免,恳请批评指正。联系笔者请发送电子邮件至hpcfan@foxmail.com。更多技术资源请访问www.gpujisuan.com。技术交流QQ群284876008(将满)、564520462,欢迎加入。致谢感谢国家并行计算机工程技术研究中心漆锋滨老师撰写第10章,并为本书作序。感谢PGI美女工程师王珍、帅气工程师仰琎歆、Daniel Tian、资深专家Mathew Colgrove的技术支持。感谢机械工业出版社的策划编辑高婧雅尽心协

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.