@article{c23cfdb520f2451e899f191968943718,
title = "Analysis and optimization of gyrokinetic toroidal simulations on homogenous and heterogenous platforms",
abstract = "The Gyrokinetic Toroidal Code (GTC) uses the particle-in-cell method to efficiently simulate plasma microturbulence. This work presents novel analysis and optimization techniques to enhance the performance of GTC on large-scale machines. We introduce cell access analysis to better manage locality vs. synchronization tradeoffs on CPU and GPU-based architectures. Our optimized hybrid parallel implementation of GTC uses MPI, OpenMP, and NVIDIA CUDA, achieves up to a 2× speedup over the reference Fortran version on multiple parallel systems, and scales efficiently to tens of thousands of cores.",
author = "Ibrahim, {Khaled Z.} and Kamesh Madduri and Samuel Williams and Bei Wang and Stephane Ethier and Leonid Oliker",
note = "Funding Information: All authors from from Lawrence Berkeley National Laboratory were supported by the DOE Office of Advanced Scientific Computing Research (grant number DE-AC02-05CH11231). Dr Ethier is supported by the DOE (grant number DE-AC02-09CH11466). This research used resources of the Argonne Leadership Computing Facility at the Argonne National Laboratory, which is supported by the Office of Science of the US Department of Energy (grant number DE-AC02-06CH11357). This research also used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the US Department of Energy (grant number DE-AC02-05CH11231). Finally, this research used resources of the Oak Ridge Leadership Computing Facility at the Oak Ridge National Laboratory, which is supported by the Office of Science of the US Department of Energy (grant number DE-AC05-00OR22725).",
year = "2013",
month = nov,
doi = "10.1177/1094342013492446",
language = "English (US)",
volume = "27",
pages = "454--473",
journal = "International Journal of High Performance Computing Applications",
issn = "1094-3420",
publisher = "SAGE Publications Inc.",
number = "4",
}