Programming for scientific computing on peta-scale heterogeneous parallel systems
来源期刊:中南大学学报(英文版)2013年第5期
论文作者:YANG Can-qun(杨灿群) WU Qiang(吴强) TANG Tao(唐滔) WANG Feng(王锋) XUE Jing-ling(薛京灵)
文章页码:1189 - 1203
Key words:heterogeneous parallel system; programming framework; scientific computing; GPU computing; molecular dynamic
Abstract: Peta-scale high-performance computing systems are increasingly built with heterogeneous CPU and GPU nodes to achieve higher power efficiency and computation throughput. While providing unprecedented capabilities to conduct computational experiments of historic significance, these systems are presently difficult to program. The users, who are domain experts rather than computer experts, prefer to use programming models closer to their domains (e.g., physics and biology) rather than MPI and OpenMP. This has led the development of domain-specific programming that provides domain-specific programming interfaces but abstracts away some performance-critical architecture details. Based on experience in designing large-scale computing systems, a hybrid programming framework for scientific computing on heterogeneous architectures is proposed in this work. Its design philosophy is to provide a collaborative mechanism for domain experts and computer experts so that both domain-specific knowledge and performance-critical architecture details can be adequately exploited. Two real-world scientific applications have been evaluated on TH-1A, a peta-scale CPU-GPU heterogeneous system that is currently the 5th fastest supercomputer in the world. The experimental results show that the proposed framework is well suited for developing large-scale scientific computing applications on peta-scale heterogeneous CPU/GPU systems.
YANG Can-qun(杨灿群)1, WU Qiang(吴强)1, TANG Tao(唐滔)1, WANG Feng(王锋)1, XUE Jing-ling(薛京灵)2
(1. State Key Laboratory of High Performance Computing (National University of Defense Technology),
Changsha 410073, China;
2. School of Computer Science and Engineering, University of New So)
Abstract:Peta-scale high-performance computing systems are increasingly built with heterogeneous CPU and GPU nodes to achieve higher power efficiency and computation throughput. While providing unprecedented capabilities to conduct computational experiments of historic significance, these systems are presently difficult to program. The users, who are domain experts rather than computer experts, prefer to use programming models closer to their domains (e.g., physics and biology) rather than MPI and OpenMP. This has led the development of domain-specific programming that provides domain-specific programming interfaces but abstracts away some performance-critical architecture details. Based on experience in designing large-scale computing systems, a hybrid programming framework for scientific computing on heterogeneous architectures is proposed in this work. Its design philosophy is to provide a collaborative mechanism for domain experts and computer experts so that both domain-specific knowledge and performance-critical architecture details can be adequately exploited. Two real-world scientific applications have been evaluated on TH-1A, a peta-scale CPU-GPU heterogeneous system that is currently the 5th fastest supercomputer in the world. The experimental results show that the proposed framework is well suited for developing large-scale scientific computing applications on peta-scale heterogeneous CPU/GPU systems.
Key words:heterogeneous parallel system; programming framework; scientific computing; GPU computing; molecular dynamic