We use cookies to improve your experience with our site.
廖湘科, 杨灿群, 唐滔, 易会战, 王锋, 吴强, 薛京灵. OpenMC:简化天河超级计算机的编程[J]. 计算机科学技术学报, 2014, 29(3): 532-546. DOI: 10.1007/s11390-014-1447-4
引用本文: 廖湘科, 杨灿群, 唐滔, 易会战, 王锋, 吴强, 薛京灵. OpenMC:简化天河超级计算机的编程[J]. 计算机科学技术学报, 2014, 29(3): 532-546. DOI: 10.1007/s11390-014-1447-4
Xiang-Ke Liao, Can-Qun Yang, Tao Tang, Hui-Zhan Yi, Feng Wang, Qiang Wu, Jingling Xue. OpenMC:Towards Simplifying Programming for TianHe Supercomputers[J]. Journal of Computer Science and Technology, 2014, 29(3): 532-546. DOI: 10.1007/s11390-014-1447-4
Citation: Xiang-Ke Liao, Can-Qun Yang, Tao Tang, Hui-Zhan Yi, Feng Wang, Qiang Wu, Jingling Xue. OpenMC:Towards Simplifying Programming for TianHe Supercomputers[J]. Journal of Computer Science and Technology, 2014, 29(3): 532-546. DOI: 10.1007/s11390-014-1447-4

OpenMC:简化天河超级计算机的编程

OpenMC:Towards Simplifying Programming for TianHe Supercomputers

  • 摘要: 现代P级计算系统以及未来的E级计算系统将越来越多地采用异构体系结构,设计一个高效的结点内编程模型对于解决其编程挑战问题非常重要。我们提出了一种基于编译指导的结点内编程模型OpenMC,简化了异构结点(尤其是针对天河系列超级计算机中的结点)的编程,并取得较好的性能和可移植性。已有的异构编程模型大多关注如何将计算任务卸载到加速器(通常是单个加速器)上执行,而OpenMC则通过为结点中的计算资源提供一层统一的抽象worker,并在worker间开发异步的任务并行,更统一、更充分地发掘结点中的多核CPU和加速器的性能。本文给出了OpenMC编程模型及其一个实现原型,并针对六个应用程序在两类天河超级计算机的结点上对OpenMC、OpenMP及手工优化版本的代码进行了初步比较。

     

    Abstract: Modern petascale and future exascale systems are massively heterogeneous architectures. Developing productive intra-node programming models is crucial toward addressing their programming challenge. We introduce a directive-based intra-node programming model, OpenMC, and show that this new model can achieve ease of programming, high performance, and the degree of portability desired for heterogeneous nodes, especially those in TianHe supercomputers. While existing models are geared towards offloading computations to accelerators (typically one), OpenMC aims to more uniformly and adequately exploit the potential offered by multiple CPUs and accelerators in a compute node. OpenMC achieves this by providing a unified abstraction of hardware resources as workers and facilitating the exploitation of asynchronous task parallelism on the workers. We present an overview of OpenMC, a prototyping implementation, and results from some initial comparisons with OpenMP and hand-written code in developing six applications on two types of nodes from TianHe supercomputers.

     

/

返回文章
返回