The US Department of Energy launched the Exascale Computing Project (ECP) in 2016 as part of a coordinated effort to achieve the next generation of high-performance computing (HPC) and to accelerate scientific discovery. The Exascale Proxy Applications Project began within the ECP to: (1) improve the quality of proxies created by the ECP (2) provide small, simplified codes which share important features of large applications and (3) capture programming methods and styles that drive requirements for compilers and other elements of the tool chain. This article describes one Proxy Application (or "proxy app") suite called IMEXLBM which is an open-source, self-contained code unit, with minimal dependencies, that is capable of running on heterogeneous platforms like those with graphic processing units (GPU) for accelerating the calculation. In particular, we demonstrate functionality by solving a benchmark problem in computational fluid dynamics (CFD) on the ThetaGPU machine at the Argonne Leadership Computing Facility (ALCF). Our method makes use of a domain-decomposition technique in conjunction with the message-passing interface (MPI) standard for distributed memory systems. The OpenMP application programming interface (API) is employed for shared-memory multi-processing and offloading critical kernels to the device (i.e. GPU). We also verify our effort by comparing data generated via CPU-only calculations with data generated with CPU+GPU calculations. While we demonstrate efficacy for single-phase fluid problems, the code-unit is designed to be versatile and enable new physical models that can capture complex phenomena such as two-phase flow with interface capture.
翻译:2016年,美国能源部推出了Exacal 计算项目(ECP),作为实现下一代高性能计算(HPC)和加速科学发现的协调努力的一部分。Exacal 代理应用项目在 ECP 中开始:(1) 提高 ECP 创造的代理器的质量;(2) 提供小型简化代码,分享大型应用的重要特征,(3) 捕捉驱动编制者要求和工具链其他元素的编程方法和风格。这篇文章描述了一个称为IMEXLBM的代理应用程序(或“代理应用程序”)套件,该套名为IMEXLBM,是一个开放源、自成一体的代码单位,其物理界面依赖性极小,能够运行像图形处理器(GPU)那样的多式平台,以加速计算。我们通过C-POVC 生成的计算模型,通过SOpen-PLB 和 C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-C-S-S-S-SL-C-C-S-C-S-S-C-C-C-S