【教程免费下载】OpenACC并行编程实战-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

【教程免费下载】OpenACC并行编程实战

2017-06-23 12:24:41 1718 0

前  言



       2010年以来,中国超级计算机建设突飞猛进,欣欣向荣。一个原因是国力强盛,大力投资高新科技;另一个原因是整体科技水平提高,需求旺盛。天气预报、石油物探、工程、基因测序等传统应用对计算资源的需求持续增长,以深度学习为代表的人工智能大爆发,资金雄厚的互联网公司对计算能力极度渴求。超级计算机的建设、应用主战场正在从教育科研单位转向科技企业。
为什么要写这本书
面对浩如烟海的数据,CPU已经力不从心,因此世界领先的超级计算机都装备大量的加速器或者众核处理器。
目前主流加速器产品是NVIDIA GPU、AMD GPU和Intel至强Phi协处理器。三种加速器使用的编程语言分别为CUDA C/CUDA Fortran、OpenCL和MIC导语。加速器计算有4个困难。
一是CUDA/OpenCL等低级语言编程难度大,且需要深入了解加速器的硬件结构。而大部分的用户不是专业编程人员,学习一门新的编程技术将耗费大量时间。
二是加速器的计算模型与CPU差别很大,移植旧程序需要几乎完全重写。大量的旧程序在性能优化上已经千锤百炼,稳定性上也久经考验,完全重写是不可完成的任务。
三是低级编程语言开发的程序与硬件结构密切相关,硬件升级时必须升级软件,否则将损失性能。而硬件每隔两三年就升级一次,频繁的软件升级将给用户带来巨大负担。
四是投资方向难以选择。三种加速器均有自己独特的编程语言,且互不兼容。用户在投资建设硬件平台、选择软件开发语言时就会陷入困境,不知三种设备中哪个会在竞争中胜出。如果所选加速器将来落败,将会带来巨大损失;而犹豫不决又将错过技术变革的历史机遇。
OpenACC应运而生,可以克服这4个困难。OpenACC的编程机制是,程序员只在原程序中添加少量编译标识,编译器根据作者的意图自动产生低级语言代码。无须学习新的编程语言和加速器硬件知识,便能迅速掌握。只添加少量编译标识,不破坏原代码,开发速度快,既可并行执行又可恢复串行执行。在硬件更新时,重新编译一次代码即可,不必手工修改代码。OpenACC标准制定时就考虑了目前及将来的多种加速器产品,同一份代码可以在多种加速器设备上编译、运行,无成本切换硬件平台。掌握OpenACC后,编写程序省时、省力、省心。



出版在【华章出版社】 作者: 何沧平










取消 提交回答
全部回答(0)
相关问答

18

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1049352浏览量 回答数 18

37

回答

阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

管理贝贝 2017-02-10 15:14:36 77775浏览量 回答数 37

17

回答

据说在家办公的程序员是这样写代码的?

问问小秘 2020-02-18 16:38:14 1007622浏览量 回答数 17

35

回答

地摊潮流,如果程序员和程序媛同时摆摊?

问问小秘 2020-06-05 09:20:16 63568浏览量 回答数 35

7

回答

机器学习PAI中数据视图组件怎么查看100条以后的数据

拼夕夕小马 2019-06-22 22:01:34 116834浏览量 回答数 7

11

回答

新的技术,比如大数据、AI如何应用在航空行业?

诺诺罗亚 2019-06-26 16:15:54 117966浏览量 回答数 11

58

回答

技术入门问答集锦,涉及多种技术方向,解决新人学习困惑

管理贝贝 2016-08-03 10:13:27 52774浏览量 回答数 58

38

回答

【hi聊】2020新年展望:get程序员过年的正确姿势

问问小秘 2020-01-08 19:25:05 51197浏览量 回答数 38

27

回答

程序猿表情包合集,让你斗图再也不会输

管理贝贝 2017-11-14 10:23:40 51125浏览量 回答数 27

5

回答

创建 GPU 通用计算型 gn5i 规格族实例

宝惜 2017-09-14 15:11:53 58651浏览量 回答数 5
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20710
文章
438
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载