@inproceedings{d972ecb95b12472fb67aac0e6c422eb8,
title = "Heterogeneous Programming and Optimization of Gyrokinetic Toroidal Code Using Directives",
abstract = "The latest production version of the fusion particle simulation code, Gyrokinetic Toroidal Code (GTC), has been ported to and optimized for the next generation exascale GPU supercomputing platform. Heterogeneous programming using directives has been utilized to balance the continuously implemented physical capabilities and rapidly evolving software/hardware systems. The original code has been refactored to a set of unified functions/calls to enable the acceleration for all the species of particles. Extensive GPU optimization has been performed on GTC to boost the performance of the particle push and shift operations. In order to identify the hotspots, the code was the first benchmarked on up to 8000 nodes of the Titan supercomputer, which shows about 2–3 times overall speedup comparing NVidia M2050 GPUs to Intel Xeon X5670 CPUs. This Phase I optimization was followed by further optimizations in Phase II, where single-node tests show an overall speedup of about 34 times on SummitDev and 7.9 times on Titan. The real physics tests on Summit machine showed impressive scaling properties that reaches roughly 50\% efficiency on 928 nodes of Summit. The GPU + CPU speed up from purely CPU is over 20 times, leading to an unprecedented speed.",
keywords = "Directives, Fusion plasma, GPU, Heterogeneous programming, Massively parallel computing, OpenACC, Particle in cell",
author = "Wenlu Zhang and Wayne Joubert and Peng Wang and Bei Wang and William Tang and Matthew Niemerg and Lei Shi and Sam Taimourzadeh and Jian Bao and Zhihong Lin",
note = "Publisher Copyright: {\textcopyright} 2019, Springer Nature Switzerland AG.; 5th International Workshop on Accelerator Programming Using Directives, WACCPD 2018 ; Conference date: 11-11-2018 Through 17-11-2018",
year = "2019",
doi = "10.1007/978-3-030-12274-4\_1",
language = "English (US)",
isbn = "9783030122737",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "3--21",
editor = "Guido Juckeland and Sandra Wienke and Sunita Chandrasekaran",
booktitle = "Accelerator Programming Using Directives - 5th International Workshop, WACCPD 2018, Proceedings",
address = "Germany",
}