TY - GEN
T1 - OpenACC Unified Programming Environment for Multi-hybrid Acceleration with GPU and FPGA
AU - Boku, Taisuke
AU - Tsunashima, Ryuta
AU - Kobayashi, Ryohei
AU - Fujita, Norihisa
AU - Lee, Seyong
AU - Vetter, Jeffrey S.
AU - Murai, Hitoshi
AU - Nakao, Masahiro
AU - Tsuji, Miwako
AU - Sato, Mitsuhisa
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
PY - 2023
Y1 - 2023
N2 - Accelerated computing in HPC such as with GPU, plays a central role in HPC nowadays. However, in some complicated applications with partially different performance behavior is hard to solve with a single type of accelerator where GPU is not the perfect solution in these cases. We are developing a framework and transpiler allowing the users to program the codes with a single notation of OpenACC to be compiled for multi-hybrid accelerators, named MHOAT (Multi-Hybrid OpenACC Translator) for HPC applications. MHOAT parses the original code with directives to identify the target accelerating devices, currently supporting NVIDIA GPU and Intel FPGA, dispatching these specific partial codes to background compilers such as NVIDIA HPC SDK for GPU and OpenARC research compiler for FPGA, then assembles binaries for the final object with FPGA bitstream file. In this paper, we present the concept, design, implementation, and performance evaluation of a practical astrophysics simulation code where we successfully enhanced the performance up to 10 times faster than the GPU-only solution.
AB - Accelerated computing in HPC such as with GPU, plays a central role in HPC nowadays. However, in some complicated applications with partially different performance behavior is hard to solve with a single type of accelerator where GPU is not the perfect solution in these cases. We are developing a framework and transpiler allowing the users to program the codes with a single notation of OpenACC to be compiled for multi-hybrid accelerators, named MHOAT (Multi-Hybrid OpenACC Translator) for HPC applications. MHOAT parses the original code with directives to identify the target accelerating devices, currently supporting NVIDIA GPU and Intel FPGA, dispatching these specific partial codes to background compilers such as NVIDIA HPC SDK for GPU and OpenARC research compiler for FPGA, then assembles binaries for the final object with FPGA bitstream file. In this paper, we present the concept, design, implementation, and performance evaluation of a practical astrophysics simulation code where we successfully enhanced the performance up to 10 times faster than the GPU-only solution.
KW - FPGA
KW - GPU
KW - MHOAT
KW - OpenACC
KW - Programming framework
UR - http://www.scopus.com/inward/record.url?scp=85171348308&partnerID=8YFLogxK
U2 - 10.1007/978-3-031-40843-4_49
DO - 10.1007/978-3-031-40843-4_49
M3 - Conference contribution
AN - SCOPUS:85171348308
SN - 9783031408427
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 662
EP - 674
BT - High Performance Computing - ISC High Performance 2023 International Workshops, Revised Selected Papers
A2 - Bienz, Amanda
A2 - Weiland, Michèle
A2 - Baboulin, Marc
A2 - Kruse, Carola
PB - Springer Science and Business Media Deutschland GmbH
T2 - 38th International Conference on High Performance Computing, ISC High Performance 2023
Y2 - 21 May 2023 through 25 May 2023
ER -