TY - GEN
T1 - A Case Study of LLVM-Based Analysis for Optimizing SIMD Code Generation
AU - Huber, Joseph
AU - Wei, Weile
AU - Georgakoudis, Giorgis
AU - Doerfert, Johannes
AU - Hernandez, Oscar
N1 - Publisher Copyright:
© 2021, Springer Nature Switzerland AG.
PY - 2021
Y1 - 2021
N2 - This paper presents a methodology for using LLVM-based tools to tune the DCA++ (dynamical cluster approximation) application that targets the new ARM A64FX processor. The goal is to describe the changes required for the new architecture and generate efficient single instruction/multiple data (SIMD) instructions that target the new Scalable Vector Extension instruction set. During manual tuning, the authors used the LLVM tools to improve code parallelization by using OpenMP SIMD, refactored the code and applied transformation that enabled SIMD optimizations, and ensured that the correct libraries were used to achieve optimal performance. By applying these code changes, code speed was increased by 1.98 × and 78 GFlops were achieved on the A64FX processor. The authors aim to automatize parts of the efforts in the OpenMP Advisor tool, which is built on top of existing and newly introduced LLVM tooling.
AB - This paper presents a methodology for using LLVM-based tools to tune the DCA++ (dynamical cluster approximation) application that targets the new ARM A64FX processor. The goal is to describe the changes required for the new architecture and generate efficient single instruction/multiple data (SIMD) instructions that target the new Scalable Vector Extension instruction set. During manual tuning, the authors used the LLVM tools to improve code parallelization by using OpenMP SIMD, refactored the code and applied transformation that enabled SIMD optimizations, and ensured that the correct libraries were used to achieve optimal performance. By applying these code changes, code speed was increased by 1.98 × and 78 GFlops were achieved on the A64FX processor. The authors aim to automatize parts of the efforts in the OpenMP Advisor tool, which is built on top of existing and newly introduced LLVM tooling.
KW - Compilers
KW - Feedback
KW - HPC tools
KW - LLVM
KW - OpenMP
KW - SIMD
UR - http://www.scopus.com/inward/record.url?scp=85115447703&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-85262-7_10
DO - 10.1007/978-3-030-85262-7_10
M3 - Conference contribution
AN - SCOPUS:85115447703
SN - 9783030852610
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 142
EP - 155
BT - OpenMP
A2 - McIntosh-Smith, Simon
A2 - de Supinski, Bronis R.
A2 - Klinkenberg, Jannis
PB - Springer Science and Business Media Deutschland GmbH
T2 - 17th International Workshop on OpenMP, IWOMP 2021
Y2 - 14 September 2021 through 16 September 2021
ER -