Title :
Compiler blockability of numerical algorithms
Author :
Carr, Steve ; Kennedy, Ken
Author_Institution :
Dept. of Comput. Sci., Rice Univ., Houston, TX, USA
Abstract :
An attempt was made to determine whether a compiler can automatically restructure computations well enough to avoid the need for hand blocking. To that end, programs in LAPACK were studied for which it was possible to examine both the block version and the corresponding point algorithm. For each of these programs, it was determined whether a plausible compiler technology could succeed in obtaining the block version from the point algorithm. The results are encouraging: one can block triangular and trapezoidal loops, and many of the problems introduced by complex dependence patterns can be overcome by the use of the transformation known as index-set splitting. In addition, it was shown that knowledge about which operations commute can enable a compiler to succeed in blocking codes that could not be blocked by any compiler based strictly on dependence analysis
Keywords :
matrix algebra; parallel programming; program compilers; LAPACK; block version; compiler technology; complex dependence patterns; index-set splitting; numerical algorithms; parallel programming; point algorithm; Algorithm design and analysis; Computer science; Delay; Design optimization; High performance computing; History; Microprocessors; Optimizing compilers; Program processors; Programming profession;
Conference_Titel :
Supercomputing '92., Proceedings
Conference_Location :
Minneapolis, MN
Print_ISBN :
0-8186-2630-5
DOI :
10.1109/SUPERC.1992.236704