前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenACC帮助天体物理研究人员洞悉暗能量

OpenACC帮助天体物理研究人员洞悉暗能量

作者头像
GPUS Lady
发布2018-03-30 14:42:13
9680
发布2018-03-30 14:42:13
举报
文章被收录于专栏:GPUS开发者

项目概览

马克西米兰•卡茨和亚当•雅各布斯是美国石溪大学物理与天文 学系的博士研究生,他们力图通过研究恒星爆炸的成因来探察 难于捉摸的暗能量。卡茨研究两个恒星残骸的合并,而雅各布 斯专注研究另一种模式:一个恒星残骸靠万有引力从伴星吸积 物质并再次爆炸。

为此,卡茨和雅各布斯致力于发展一个计算方法用来研究Ia型 超新星的起源。雅各布斯使用由Fortran开发的软件MAESTRO 来研究双爆起源模型。那些代码针对恒性爆炸的不同阶段做了优化。

卡茨使用CASTRO软件,一个三维可压缩流体动力学代码,专 为研究恒星爆炸中的天体物理学流体流动而设计。MAESTRO 专们模拟亚音速流体流动,而CASTRO是一个更常见的可压缩 流体动力学代码,能够模拟MAESTRO不能胜任的超音速流体 流动。

“CASTRO和MAESTRO的微物理模块非常适合GPU加速,因为 它们只用到本节点上的已有数据,这意味着跑在具有多个节点 的超级计算上也不会增加复杂度”,雅各布斯说。“每个单元上的 数据计算都相互独立,因此它们可以容易地向量化和大规模并行。”

该团队积极加速代码,从而更多复杂的核反应集可以在三维 仿真中建模,这可能是本领域的一个巨大进步。“通常,只有 最简单的反应集能做三维模拟”, 雅各布斯说。“核反应,即使 是我们为提高计算效率而使用的最简单的反应,也要消耗一次 MAESTRO典型计算10-20%的时间,因此我们预期在加速器上 加速能够对该代码产生实质性的影响。”

挑战

研究人员面临两个主要挑战。第一,天体物理系统中的多种长 度尺度相差很大,但必须同时模拟。

第二,他们必须精确计算一个系统的重力场,该系统远离像地 球或太阳这样的良好球体,并且随时间快速变化。“这个操作计 算密集并且由通信驱动,严重制约扩展性差不多一个量级”,卡 茨说。“接下来我要尝试的事情之一就是将重力求解操作转换一 种表达形式,降低通信密度,代价是可能需要更多的FLOP(每 秒浮点运算)。”

该团队通过美国能源部激励计划使用位于橡树岭 领先计算设备处的泰坦超级计算机,泰坦的绝大 部分计算能力来自GPU。“为保持申请机时的竞 争力,我们必须找到一个高效利用GPU的方法” ,他说。

研究人员必须决定在GPU上编程使用哪种语 言。CASTRO和MAESTRO都建立在网格管理库 BoxLib之上,这个库设计了多层级C++和Fortran类,以便高效管理空间网格的构建和加密,网格 承载着计算区域上的数据。雅各布斯精通Open-MP、MPI和OpenACC。OpenACC是一种导语 式加速器编程模型,目标用户是那些非全职开发 软件的科学家、工程师以及其它领域的专家。卡 茨拥用丰富的OpenMP编程经验和适度的MPI经 验——这两种编程模型是BoxLib的根基。然而, 两位研究人员都没有多少CUDA经验。

“CUDA不适合,这是因为它与厂商和硬件绑定太 紧密”,雅各布斯说。“有些科学应用需要运行在 多台不同的超级计算架构之上,并要求能够利用 多代架构。对这些应用,CUDA的劣势超过了优 势。这就是我们为何偏爱OpenACC。”

“我们系统中的主要工作量通常可以表示为 空间单个格点上的独立循环,因此大部分并 行都是用OpenMP导语加速这些循环”,卡茨 说。

解决方案

该团队选择使用PGI的OpenACC编译器,PGI公

司走在OpenACC开发的前列。卡茨从向量化关 键模块之一开始——“状态方程”模块——该模块 的任务是逐点计算热力学属性。“学习如何高效 使用OpenACC导语和将该模块向量化花费两周 时间。还需要投入一两周时间调整代码,以便我 们可以实现、使用通信更加友好的重力求解器, 然后将它在GPU上加速。”

将反应模块加速之前,雅各布斯先熟悉一个简化 的原型模块。加速之后,观察到它比运行在16 核的传统多核计算机上快了4.4倍。在最优条件 下,将原型中学到的经验应用到在GPU上加速 MAESTRO的核反应模块,与运行在一个多核系 统上相比,整体性能应该会提高10%左右。

成果

现在他们有能力加速微物理计算,卡茨和雅各布 斯能够更快地运行更多有趣的科学仿真。

“如果我能成功编码实现这个重力方法并取得期 望的性能提升,它将解决我现在无法有效利用超 过1-2万核的困难”,卡茨说。“如果能够加速几 倍,我就能以更高的解析度研究这个系统,细致 观察最感兴趣的区域,从而查明它们是否会引发 一个热核爆炸。”

“在反应侧,提速的计算允许我们模拟更大的核 反应,计算开销与现在的简单网络模型相当”, 雅各布斯说。“这使们能得到更高科学精度的和 更感兴趣的模型。”

该团队讨论过将天体物理动力学求解器整体放到 GPU上的可能性,这种情形下,主机节点将主要 承担通信操作。

“我现在忙着重构CASTRO中的代码,以便在用 OpenACC加速时能直观一些”,卡茨说。“只完成 了针对GPU加速的第一步,我们团队正在重构代 码的第二部分,最终目标是在GPU上加速全部代 码。”

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档