Unimodular Loop Transformations with Source-to-Source Translation for GPUs

Author(s):  
Pasquale Cantiello ◽  
Beniamino Di Martino ◽  
Francesco Piccolo
Keyword(s):  
2004 ◽  
Vol 53 (11) ◽  
pp. 1420-1435 ◽  
Author(s):  
Joonseok Park ◽  
P.C. Diniz ◽  
K.R. Shesha Shayee
Keyword(s):  

2000 ◽  
Vol 10 (02n03) ◽  
pp. 153-164 ◽  
Author(s):  
PEDRO V. ARTIGAS ◽  
MANISH GUPTA ◽  
SAMUEL P. MIKIFF ◽  
JOSÉ E. MOREIRA

This paper describes a prototype Java compiler that achieves performance levels approaching those of current state-of-the-art Fortran compilers on numerical codes. We present a new transformation called alias versioning that takes advantage of the simplicity of pointers in Java. This transformation, combined with other techniques that we have developed, enables the compiler to perform high order loop transformations and parallelization completely automatically. We believe that our compiler is the first to have such capabilities of optimizing numerical Java codes. By exploiting synergies between our compiler and the Array package for Java, we achieve between 80 and 100% of the performance of highly optimized Fortran code in a variety of benchmarks. Furthermore, automatic parallelization achieves speedups of up to 3.8 on four processors. Our compiler technology makes Java a serious contender for implementing numerical applications.


1992 ◽  
Vol 02 (02n03) ◽  
pp. 273-281 ◽  
Author(s):  
MICHAEL BARNETT ◽  
CHRISTIAN LENGAUER

The parallelization of loops can be made formal by basing it on an algebraic theory of loop transformations. In this theory, the concept of unimodularity arises. We discuss the pros and cons of insisting on unimodularity.


Sign in / Sign up

Export Citation Format

Share Document