Title :
Efficient interprocedural array data-flow analysis for automatic program parallelization
Author :
Gu, Junjie ; Li, Zhiyuan
Author_Institution :
Sun Microsyst. Inc., Palo Alto, CA, USA
fDate :
3/1/2000 12:00:00 AM
Abstract :
Since sequential languages such as Fortran and C are more machine-independent than current parallel languages, it is highly desirable to develop powerful parallelization tools which can generate parallel codes, automatically or semi-automatically, targeting different parallel architectures. Array data-flow analysis is known to be crucial to the success of automatic parallelization. Such an analysis should be performed interprocedurally and symbolically and it often needs to handle the predicates represented by IF conditions. Unfortunately, such a powerful program analysis can be extremely time-consuming if it is not carefully designed. How to enhance the efficiency of this analysis to a practical level remains an issue largely untouched to date. This paper presents techniques for efficient interprocedural array data-flow analysis and documents experimental results of its implementation in a research parallelizing compiler. Our techniques are based on guarded array regions and the resulting tool runs faster, by one or two orders of magnitude, than other similarly powerful tools
Keywords :
arrays; automatic programming; data flow analysis; data structures; parallel programming; parallelising compilers; software performance evaluation; IF conditions; automatic program parallelization; efficiency enhancement; guarded array regions; interprocedural array data-flow analysis; parallel architectures; parallel code generation; parallelizing compiler; predicates; symbolic analysis; Computer Society; Computer applications; Concurrent computing; Data analysis; Parallel architectures; Parallel languages; Performance analysis; Power generation; Privatization; Text analysis;
Journal_Title :
Software Engineering, IEEE Transactions on