Probabilistic Procedure Cloning for High-Performance Systems - Benkner, Siegfried; Mehofer, Eduard; Scholz, Bernhard (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD); 2000: Anais do XII Symposium on Computer Architecture and High Performance ComputingDO - 10.5753/sbac-pad.2000.41210, 2000)
For many scientific and engineering applications efficient compilation of Fortran 90 code is of paramount importance in order to exploit computing power of high performance systems. Fortran 90 subroutine calls can cause serious performance losses if copy-in-copy-out argument passing has to be applied. We present an interprocedural cloning algorithm that prevents redundant argument copying. Our approach is novel with respect to utilizing probabilistic data-flow analysis, which allows us to identify profitable procedure clones, to control code growth by a parameterizable threshold, and to create multiple calls of procedure clones even for single call-sites. On high-performance systems experimental results illustrate the importance and effectivity of this kind of optimization.