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
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;
Conference_Titel :
Parallel Processing Workshops (ICPPW), 2012 41st International Conference on
Conference_Location :
Pittsburgh, PA
Print_ISBN :
978-1-4673-2509-7
DOI :
10.1109/ICPPW.2012.63