TY - GEN
T1 - Abstractions and directives for adapting wavefront algorithms to future architectures
AU - Searles, Robert
AU - Chandrasekaran, Sunita
AU - Joubert, Wayne
AU - Hernandez, Oscar
N1 - Publisher Copyright:
© 2018 Association for Computing Machinery.
PY - 2018/7/2
Y1 - 2018/7/2
N2 - Architectures are rapidly evolving, and exascale machines are expected to offer billion-way concurrency. We need to rethink algorithms, languages and programming models among other components in order to migrate large scale applications and explore parallelism on these machines. Although directive-based programming models allow programmers to worry less about programming and more about science, expressing complex parallel patterns in these models can be a daunting task especially when the goal is to match the performance that the hardware platforms can offer. One such pattern is wavefront. This paper extensively studies a wavefront-based miniapplication for Denovo, a production code for nuclear reactor modeling. We parallelize the Koch-Baker-Alcouffe (KBA) parallel-wavefront sweep algorithm in the main kernel of Minisweep (the miniapplication) using CUDA, OpenMP and OpenACC. Our OpenACC implementation running on NVIDIA's nextgeneration Volta GPU boasts an 85.06x speedup over serial code, which is larger than CUDA's 83.72x speedup over the same serial implementation. Our experimental platform includes SummitDev, an ORNL representative architecture of the upcoming Summit supercomputer. Our parallelization effort across platforms also motivated us to define an abstract parallelism model that is architecture independent, with a goal of creating software abstractions that can be used by applications employing the wavefront sweep motif.
AB - Architectures are rapidly evolving, and exascale machines are expected to offer billion-way concurrency. We need to rethink algorithms, languages and programming models among other components in order to migrate large scale applications and explore parallelism on these machines. Although directive-based programming models allow programmers to worry less about programming and more about science, expressing complex parallel patterns in these models can be a daunting task especially when the goal is to match the performance that the hardware platforms can offer. One such pattern is wavefront. This paper extensively studies a wavefront-based miniapplication for Denovo, a production code for nuclear reactor modeling. We parallelize the Koch-Baker-Alcouffe (KBA) parallel-wavefront sweep algorithm in the main kernel of Minisweep (the miniapplication) using CUDA, OpenMP and OpenACC. Our OpenACC implementation running on NVIDIA's nextgeneration Volta GPU boasts an 85.06x speedup over serial code, which is larger than CUDA's 83.72x speedup over the same serial implementation. Our experimental platform includes SummitDev, an ORNL representative architecture of the upcoming Summit supercomputer. Our parallelization effort across platforms also motivated us to define an abstract parallelism model that is architecture independent, with a goal of creating software abstractions that can be used by applications employing the wavefront sweep motif.
UR - http://www.scopus.com/inward/record.url?scp=85050109290&partnerID=8YFLogxK
U2 - 10.1145/3218176.3218228
DO - 10.1145/3218176.3218228
M3 - Conference contribution
AN - SCOPUS:85050109290
T3 - Proceedings of the Platform for Advanced Scientific Computing Conference, PASC 2018
BT - Proceedings of the Platform for Advanced Scientific Computing Conference, PASC 2018
PB - Association for Computing Machinery, Inc
T2 - 5th Platform for Advanced Scientific Computing Conference, PASC 2018
Y2 - 2 July 2018 through 4 July 2018
ER -