生活资讯
openacc 、openacc并行编程实战
2023-04-14 00:36  浏览:34

fortran如何实现并行计算?

实现并行的方式有很多种x0dx0a从硬件上分为 CPU 并行和GPU 并行x0dx0aCPU 并行目前主要有:x0dx0a1. 进程级适用于分布内存的MPI 并行(参考书 百度 都志辉) x0dx0a2. 线程级别的openmp (参考书:百度 fortran openmp) x0dx0a需要注意的是 MPI 相对底层一点,openmp 则非常简单 基本上1个月能够将你的程序并行化。 但前者的效率要高于后者 当然我是说你程序编写合理的情况下。x0dx0aGPU 并行:x0dx0a目前的显卡基本上都支持GPU并行,只要你的显卡不是很老,都可以用来做GPU 并行计算。 GPU计算说通俗一点就是借助显卡的处理核心来做科学计算,有效发挥显卡的多核计算能力x0dx0a如果你要进行GPU 编程,那么建议学习CUDA 对应于C 有cuda C 对应于fortran 有cuda fortran 当然 目前cuda fortran 的编译器只有pgi, 你可以很方便在网上下载到试用版本。x0dx0a就这么多吧,仅供参考。有什么问题可以在群里 或者在论坛里面提问,大家来讨论。x0dx0a最后还补充一下,如果你有正版PGI的话,也可以用openacc 也是一种简化的cuda 大体上就是你在代码中加入一些编译指导语句,然后编译器帮你把代码cuda 并行化。相当于cpu 并行里的openmp。

行至XPU平台节点 半导体三雄必有一战

英特尔这几年估计心很累。

除了PC销量下滑、工艺进展迟滞,当英伟达股价上涨、新型AI处理器问世、AMD收购赛灵思、苹果发布新芯片……英特尔每每都要被拖出来吊打一次。

是廉颇老矣?还是大象善舞本来就不容易?

从英特尔现在的业务情况来看,传统PC业务已经从原来的八成下降到现在的五成,而数据中心则一路上扬,营收从原来的二成增长到了五成。或许老牌 科技 企业都逃不开波峰低谷的发展周期,于是转型就成为必然。

从2017年开始,英特尔就宣称自己是一家数据公司,因为“数据才是未来的石油”。2018年底,英特尔宣布最新战略目标,即以制程和封装、XPU架构、内存和存储、互连、安全、软件六大技术支柱为核心,明确了“以PC为中心”转向“以数据为中心”的转型目标。

而就在昨晚,英特尔正式发布其首款数据中心独立图形显卡——服务器GPU,以及oneAPI Gold工具包。这也意味着,英特尔六大战略中的XPU架构(XPU架构中的“X”指的是包含 CPU、GPU、专用加速器以及FPGA 的混合架构)集齐最后一条“神龙”;软件方面,one API Gold继Beta版本发布一年后,也完成了阶段性的跃升。软硬件共同发力,英特尔卯足力气搅动数据中心本来就不平静的池水。

局势已经非常明朗,英特尔、英伟达、AMD都在打造自家的XPU架构,通过收购也好、自研也罢,在硬件架构和软件工具上的布局都是一副当仁不让的态势。

英特尔加速计算20年坎坷路

英特尔不是没有过独立显卡GPU的尝试,只不过是20年前。2009年末,英特尔宣布取消“Larrabee”图形芯片项目,将重注都押在多核的技术路径上。

彼时,英伟达已经推出Tesla,大举进攻。AMD也在2006年收购了ATI后正式进入显卡领域,虽然在CPU和GPU面临着英特尔和英伟达的双重夹击,却也是成就今天三足鼎立局面的关键一步。

英特尔在集成显卡这条路的经济账没毛病。将图像处理的部分整合到CPU中,这样一来核心显卡始终是和CPU一体的,必要时还是需要调用部分CPU的运算能力来提高图像处理效率。当性能需要提升时怎么办?增加核显,还可以提高处理器价格,间接增加利润。或许正因如此,英特尔没有太大动力去开发独显GPU,在宣布取消Larrabee项目时,信誓旦旦表示不会推出独立显卡GPU,至少短期内不会。

被停掉的Larrabee后来成为了至强融核(Xeon Phi)协处理器的原型,这是英特尔首款集成众核(Many Integrated Core,MIC)架构的产品,用作高性能计算的超级计算机或服务器的加速卡,顺应了高性能计算市场的异构需求。Xeon Phi也一度被用到超级计算机上,雄霸世界超算榜单,例如我国的天河一号、天河二号,直到2015年4月被美国***止向中国超算中心出口Xeon Phi。

受市场需求颓势的主要影响,2018年开始,代号为Knight Landing的Xeon Phi 7210、7230等产品列入停产计划;去年,代号为Knight Mill的Xeon Phi处理器也启动停产计划,并宣布将在今年7月31日停止出货。

而就在英特尔在加速计算曲折前进的这些年,英伟达GPU一骑绝尘,AMD也在CPU和GPU双线开花。虽说船大不好调头,但作为巨头,必要时确实要勇于自我piapia打脸。

2017年末,原AMD RTG总裁、显卡首席架构师Raja Koduri离开AMD,加入英特尔。当时业界就推断英特尔可能要重启独显计划,直到Xeon Phi陆续停产,这一猜想在去年达到沸点。

直到今年8月的架构日上,英特尔曝光了针对数据中心的首款基于 Xe 架构的独立图形显卡,有关英特尔开发独显GPU的传言正式得到验证。

Xe GPU的出现,从多个维度补充了英特尔缺失的拼图。它正式宣告英特尔进军高端GPU领域,将触角伸向移动端、桌面端、云 游戏 、数据中心、高性能计算等多个领域。此外,它作为英特尔向量计算的代表产品,进一步补全了英特尔的XPU组合。

XPU架构成为必争之地

仅有CPU一条路确实走不通,这一点AMD的方向从一开始就是正确的,英特尔这些年也通过买买买扩充了XPU架构。

2015~2019这几年间,英特尔都有重磅收购,几乎都是围绕这个架构理念展开的。2015年收购FPGA供应商Altera,2016年收购AI芯片供应商Nervana,2017年收购了ADAS芯片供应商Mobileye和AI芯片供应商Movidius,2018年收购eASIC,2019年收购云端AI芯片供应商Habana Labs。

直到昨天正式推出针对数据中心的首款服务器GPU,至此,XPU全家桶已配齐。如果说英特尔之前搁置GPU计划是出于市场策略和技术瓶颈,那么,今天重返这一市场,难度就会低吗?英伟达的GPU性能不够好吗?AMD的性价比它不香吗?用户选择英特尔的理由是什么?

据英特尔的技术大拿表示,在过去的20年里,英特尔其实一直在提供集成图形显卡。而显然,随着工作负载和性能需求都在上升,AI和流媒体在这些工作负载中的占比也在上升。英特尔正在扩展为更为坚实的Linux堆栈,并将从数据中心一些独特的用例开始,比如安卓云 游戏 和流媒体服务。

这是非常明智的一个起步。安卓云 游戏 在全球 游戏 开发生态系统中占据74%的市场份额,增长空间非常大;而流媒体服务涉及高密度的媒体转码和编码,现在小视频、直播盛行,有着巨量的用户市场。英特尔希望通过至强可扩展处理器与全新服务器GPU的组合,加上开源和授权的软件组件,通过较低的总体拥有成本(TCO),为安卓云 游戏 以及实时顶级视频直播的高密度媒体转编码提供高密度、低时延的解决方案。

但不管怎样,英特尔这一次押注数据中心GPU,将会是更为艰难的挑战。首先庞大的研发投入仍然必不可少,更重要的是,这一次要突围的技术需要多点开花,要在AI、5G、自动驾驶等领域都要持续投入,基础研发上既要保持专注还要保证核心竞争优势,软件要更易用,生态要更强大。

互相渗透的软件生态

XPU的确很强大,但是想要把整个计算系统打通,除了硬件,软件平台也是要搭建的。因为涉及到具体的开发工作,在不同架构之间切换并不容易,尤其是想要跨厂商进行切换的时候,这也是业内普遍的痛点。

英特尔曾在2019年的SuperComputing大会上首次提出oneAPI,并表示这是为实现统一、简化的跨架构编程模型所提出的愿景,希望能够不受限于单一厂商专用的代码构建,且能实现原有代码的集成。借助oneAPI,开发者可以针对他们要解决的特定问题选择***的加速器架构,且无需为一个架构和平台再重写软件。这不仅能够释放底层硬件的性能潜力,同时能降低软件开发和维护成本。继Beta版本发布一年后,相信这次最新发布的Gold版本在代码稳定性、成熟度以及性能表现方面值得期待。

既然支持跨架构、跨厂商的切换,那么不妨设想一下,如果英特尔、英伟达和AMD的芯片同在一个系统中,oneAPI是否可以提供支持?

对这一问题,英特尔方面给出的答案是肯定的,哪怕这个系统中没有英特尔的芯片,也是可以支持的。这意味着什么?它将成为开放的行业规范,任何人都可以运用它,它甚至可以进入英伟达、AMD的生态系统。面对竞争,英特尔向友商敞开怀抱,并且进入他们的阵营拥抱他们和他们的盟友。oneAPI就是英特尔在软件乃至生态层面***的雄心。

英伟达的做法异曲同工。在2019年法兰克福国际超算大会上,英伟达已经宣布其CUDA编程架构开放支持Arm CPU架构,向Arm生态系统提供全堆栈的AI、HPC软件,可支持所有AI框架、600多个HPC应用程序的加速,其中包括所有NVIDIA CUDA-X AI和HPC库、GPU加速的AI框架和软件开发工具,比如支持OpenACC的PGI编译器和性能分析器。而堆栈优化完成后,NVIDIA将为所有主流CPU架构提供加速,包括x86、POWER、Arm。

AMD几年前也开始了这样的尝试,其Radeon开放运算平台ROCm,希望通过CUDA编译代码转换,进一步支持英伟达的 CUDA平行运算平台,开始了在软件平台上对英伟达的追赶。

写在最后

5G、AI都在催生计算场景的多样性和更为丰富的内涵。未来的数据是多样化的,需要通过多种硬件计算组合来应对多种数据类型,谁能挖掘出***化的算力组合,谁就能让数据发挥出***价值。异构计算,不仅是解决摩尔定律走入绝境的一种方法,更是未来所需。这就是为什么英特尔、英伟达、AMD纷纷在构建自己的XPU平台。

不过,当三大巨头纷纷端出自己的全家桶时,一个挑战是共通的:进步绝不仅体现在处理性能的提升上,更大的难题在于:如何牢牢抓住应用需求,用极为丰富、灵活的组合给出***化、最适配的方案?

NVIDIA发布搭载GPU的ARM服务器参考平台

【资讯】2019 年 1 1 月 1 8 日, NVIDIA 于今日发布一款参考设计平台,使企业能够快速构建 GPU 加速的 Arm 服务器 , 以满足日益多样化的科学和工业应用需求。 这 开辟 了 高性能计算的新纪元 。  

NVIDIA 创始人兼首席执行官黄仁勋在 2 019 国际超级计算大会( SC19 )上宣布推出这款参考设计平台。该平台由硬件和软件基础模块组成,能够满足高性能计算( HPC )社区对于 类型 更加多样化的 C PU 架构日益增长的需求。通过该平台,超级计算中心、超大型云运营商和企业能够将 NVIDIA 加速计算平台的优势与最新的 Arm 服务器平台相结合。

为了构建 这一参考 平台, NVIDIA 与 Arm 及其生态合作伙伴(包括 Ampere 、富士通 和 Marvell ) 联手,以 确保 NVIDIA   GPU 与 Arm 处理器 之间 的 无缝协作 。 该参考平台还得益于 与 HPE 旗下公司 Cr*** 和 HPE 这 两家早期采用 Arm 服务器的供应商之间的紧密合作。此外,许多高性能计算软件公司已使用 NVIDIA CUDA-X 库 来构建可在 Arm 服务器上运行 、 并可 通过 GPU 实现的管理和监控工具。

黄仁勋表示:“高性能计算正在崛起。机器学习和 AI 领域的突破正在重新定义科学研究方法 , 并且可能带来激动人心的新架构。从超大规模云到百万兆级超级计算, NVIDIA GPU 与 A RM 的组合让创新者们能够为不断增加的新应用创建系统。”

Arm IP 产品部门总裁 Rene Haas 表示:“  Arm 正在与生态合作伙伴一 同努力, 为百万兆级的 Arm 系统级芯片提供前所未有的性能和效率。我们与 NVIDIA 合作,将 CUDA 加速带入 到 Arm 架构当中 , 这对于高性能计算社区来说, 具有 里程碑 式的意义 。为了应对全球最复杂的研究 , 挑战并推动嵌入式系统、汽车和边缘细分市场的进一步发展,高性能计算社区已经在部署 Arm 技术。”

今年早些时候, NVIDIA 宣布 为 A rm 带来 C UDA-X 软件平台 。 NVIDIA 此次发布这一参考平台正是对此前承诺的兑现。   根据这一承诺, NVIDIA 正在提供 其 A rm 兼容软件开发套件 的预览版本。该版本包含 NVIDIA CUDA-X 库和加速计算开发工具。

联合整个高性能计算生态中的合作伙伴

除了 使 自己的软件 兼容 Arm 之外, NVIDIA 还与   GROMACS 、 LAMMPS 、 MILC 、 NAMD 、 Quantum  Espresso 和 Relion 等 领先的 高性能计算 应用开发 商密切 合作 , 为 A RM 提供 GPU 加速 的 应 程序 用。 为了让 Arm 平台上的应用实现 GPU 加速, NVIDIA 及其高性能计算应用生态合作伙伴编译了大量代码。

为了构建 Arm 生态, NVIDIA 与领先的 Linux 发行商 Canonical 、 Red Hat,   Inc. 、 SUSE , 以及业内领先的高性能计算基础工具供应商 展开 合作。

几家世界级的超级计算中心已开始测试 GPU 加速 Arm 计算系统,其中包括美国的橡树岭国家实验室和桑迪亚国家实验室、英国布里斯托大学以及日本理化学研究所。

来自生态合作伙伴的支持

“  Ampere 非常高兴能够与 NVIDIA 合作开发 GPU 加速解决方案。该解决方案 将 与高性能、高能效 Ampere 的 服务器处理器实现无缝协作。我们的新产品将使我们的客户能够灵活选择***的 NVIDIA GPU 加速器,从而高效地运行云、边缘等要求极高的工作负载。”

——   Ampere Computing 董事长兼首席执行官, Renee James

“很高兴看到 NVIDIA 能够如此迅速地为 Arm 服务器带来 CUDA 和 OpenACC 。我们十分希望能够与 NVIDIA 及 其他公司开展密切的合作,在这一架构上编译、分析和调试加速应用。目前,我们已在 4096 核 Arm 系统上证明了这一合作所带来的优势。”

——   EPCC 主任, Mark   Parsons 教授

“对于正在不断发展的 Arm 生态而言, NVIDIA 是一个备受欢迎且重要的生态成员。富士通相信,随着我们迈入新的计算时代, NVIDIA 将扩展 Arm 生态系统 , 并保证客户在高性能计算和数据科学 领域 ,尤其是人工智能领域有更多的选择。”

——   富士通企业执行官兼服务平台业务部副主管, Takeshi  Horie

“通过我们与 NVIDIA 的密切合作,部署 Marvell ThunderX2 服务器的客户现在可以使用全套 NVIDIA GPU 加速软件。这对于 Arm 生态系统的加速计算可用性来说 , 是一座重要的里程碑。我们将 继续 一同 将能效提高到一个新的水平,同时为百万兆级时代的众多超级计算和 AI 应用提供出众的性能。”

—— Marvell Semiconductor, Inc. 副总裁兼服务器处理器业务部总经理 Gopal Hegde

“在 HPE 、 Marvell 和 NVIDIA 的帮助下,橡树岭国家实验室( Oak Ridge National Laboratory )成功地完成了所负责的工作,迅速升级了我们的 Arm 测试台系统,整合了性能测试并取得了良好的成果。在短短两周内,我们编译并正确运行了约八个领先级应用 程序 ,三个重要的社区库 , 以及常被用于评估 Arm 高性能计算生态的基准套件。根据早期结 果可以看出,这个由 Arm 主导的加速计算生态 的功能 似乎 和 POWER 以及 x86 环境 差不多 。对于一个 Arm 内的加速计算生态而言,这是一个了不起的开始。”

——橡树岭国家实验室国家计算科学中心科学主任, Jack C. Wells

“我们与 NVIDIA 已经合作了很长时间。我们很高兴地看到, N VIDIA 实现了自己的承诺,为 Arm 高性能计算社区带来了领先的 CUDA-X 软件堆栈和生态系统。我们已经开始在通过 NVIDIA GPU 加速的 Arm 系统上评估理化学研究所的代码,我们 认为 它将为日本高性能计算和 AI 融合工作负载带来新一轮的创新。”

——日本理化学研究所所长, Satoshi Matsuoka

“由于 NVIDIA 为 Arm 主机 CPU 提供了新的支持,因此现在可以直接使用 Kokkos 和 LAMMPS 。这一结果达到了我们的期望,并且让我们可以借鉴在带有 x86   CPU 的系统中部署 NVIDIA GPU 的经验。”

——桑迪亚国家实验室主要技术人员, Christian Trott

“  NVIDIA 的 Arm 软件堆栈的确可以直接使用。我们之前就已大量使用 Arm 和 NVIDIA 这两个独立的平台,因此我们非常高兴这两者能够组合在一起。相比于我们之前尝试过的 x86 平台, NVIDIA 为 Arm   提供的 GPU 驱动器性能非常之好。能够在如此短的时间内取得这一成果,的确令人惊叹。”

—— 布里斯托大学高性能计算教授 , Simon McIntosh-Smith

如何评价CUDA,OpenCL,OpenMP,OpenACC等主流并行运算框架

一般,也比较成熟了。这个支持的就多多了,不光是 NV GPU/Xeon Phi可以用,Intel的核芯显卡甚至Altera的FPGA都能用。也有不少开源项目在用了。

什么是 GPU 计算

GPU 计算指的是使用图形处理器 (Graphics Processing Unit, GPU) 进行高性能计算的一种方法。通常情况下,GPU 被设计用于加速图形渲染和处理,但是由于其并行计算能力强,因此也被广泛用于科学计算、机器学习、深度学习、数据分析、密码学等各种计算密集型任务。

相比于中央处理器 (Central Processing Unit, CPU),GPU 的优势在于其具有大量的处理单元和内存带宽,可以同时处理大量的数据并且速度更快。特别是在进行大规模矩阵运算、神经网络训练等需要大量并行计算的任务中,GPU 明显优于 CPU。

为了进行 GPU 计算,需要使用相应的编程工具和框架,例如 NVIDIA 的 CUDA、OpenCL、OpenACC、TensorFlow 等。同时,也需要在硬件上安装相应的 GPU 设备和驱动程序。

openacc的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于openacc并行编程实战、openacc的信息别忘了在本站进行查找喔。

发表评论
0评