TY - GEN
T1 - A compiler-based tool for array analysis in HPC applications
AU - Qawasmeh, Ahmad
AU - Chapman, Barbara
AU - Banerjee, Amrita
PY - 2012
Y1 - 2012
N2 - Array region analysis plays a significant role in various optimizations at compile time. Displaying array access information efficiently in HPC applications has been a vital challenge for scientists and developers for the past few years. Dragon array region analysis tool is a powerful and interactive tool that was built on top of the Open UH compiler, an open source C/C++/Fortran compiler, that supports OpenMP and CAF programming models. We have extended the linear-based Region analysis method and the high level IR (WHIRL) of Open UH to visualize the static and interprocedural array region accesses, the frequency of these accesses per access mode, the access mode in which the array is processed, the number of dimensions, the size of each dimension, the total size in bytes allocated to this array statically, and the memory location. We have also defined the access density term which illustrates the frequency of accesses per bytes allocated to these arrays. The information provided enables users to efficiently develop and optimize HPC applications by understanding procedure side effects and finding inefficiencies in defining arrays, which guides to a better memory allocation and cache usage. Moreover, we demonstrate the access density of the portions of arrays that have been accessed, which is crucial to reduce data transfers between host and device when using directive-based GPU programming models.
AB - Array region analysis plays a significant role in various optimizations at compile time. Displaying array access information efficiently in HPC applications has been a vital challenge for scientists and developers for the past few years. Dragon array region analysis tool is a powerful and interactive tool that was built on top of the Open UH compiler, an open source C/C++/Fortran compiler, that supports OpenMP and CAF programming models. We have extended the linear-based Region analysis method and the high level IR (WHIRL) of Open UH to visualize the static and interprocedural array region accesses, the frequency of these accesses per access mode, the access mode in which the array is processed, the number of dimensions, the size of each dimension, the total size in bytes allocated to this array statically, and the memory location. We have also defined the access density term which illustrates the frequency of accesses per bytes allocated to these arrays. The information provided enables users to efficiently develop and optimize HPC applications by understanding procedure side effects and finding inefficiencies in defining arrays, which guides to a better memory allocation and cache usage. Moreover, we demonstrate the access density of the portions of arrays that have been accessed, which is crucial to reduce data transfers between host and device when using directive-based GPU programming models.
KW - Analysis tool
KW - Array Region Analysis
KW - Compiler-based tool
KW - Linear-based techniques
UR - https://www.scopus.com/pages/publications/84871160993
U2 - 10.1109/ICPPW.2012.63
DO - 10.1109/ICPPW.2012.63
M3 - Conference contribution
AN - SCOPUS:84871160993
SN - 9780769547954
T3 - Proceedings of the International Conference on Parallel Processing Workshops
SP - 454
EP - 463
BT - Proceedings - 41st International Conference on Parallel Processing Workshops, ICPPW 2012
T2 - 41st International Conference on Parallel Processing Workshops, ICPPW 2012
Y2 - 10 September 2012 through 13 September 2012
ER -