DocumentCode
1918921
Title
A Compiler-Based Tool for Array Analysis in HPC Applications
Author
Qawasmeh, Ahmad ; Chapman, Barbara ; Banerjee, Amrita
Author_Institution
Dept. of Comput. Sci., Univ. of Houston, Houston, TX, USA
fYear
2012
fDate
10-13 Sept. 2012
Firstpage
454
Lastpage
463
Abstract
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.
Keywords
C++ language; FORTRAN; application program interfaces; cache storage; data visualisation; graphics processing units; multi-threading; program compilers; public domain software; shared memory systems; CAF programming model; Dragon array region analysis tool; HPC applications; Open UH compiler; OpenMP programming model; WHIRL; cache usage; compiler-based tool; data transfer reduction; directive-based GPU programming models; high level IR; interactive tool; interprocedural array region access visualization; linear-based region analysis method; memory allocation; memory location; multithreaded programming API; open source C compiler; open source C++ compiler; open source Fortran compiler; static array region access visualization; Arrays; Data mining; Graphics processing unit; Indexes; Optimization; Programming; Analysis tool; Array Region Analysis; Compiler-based tool; Linear-based techniques;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Processing Workshops (ICPPW), 2012 41st International Conference on
Conference_Location
Pittsburgh, PA
ISSN
1530-2016
Print_ISBN
978-1-4673-2509-7
Type
conf
DOI
10.1109/ICPPW.2012.63
Filename
6337513
Link To Document