Probabilistic Procedure Cloning for High-Performance Systems

  • Siegfried Benkner University of Vienna
  • Eduard Mehofer University of Vienna
  • Bernhard Scholz Vienna University of Technology

Resumo


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.

Palavras-chave: Procedure Cloning, Fortran 90, Probabilistic Data-Flow Analusis

Referências

S. Benkner. VFC: The Vienna Fortran Compiler. Journal of Scientific Programming, 7(1):57–81, December 1999.

OpenMP Architecture Review Board. OpenMP Application Program Interface, November 1999. OpenMP Forum Home Page: [link].

K. D. Cooper. Interprocedural data flow analysis in a programming environment. PhD thesis, Rice University, Houston, TX, April 1983.

K. D. Cooper, M. W. Hall, and K. Kennedy. A methodology for procedure cloning. Computer Languages, 19(2):1–9, April 1993.

B. Scholz, E. Mehofer. Probabilistic data flow system with two-edge profiling. In Proceedings of the ACM SIGPLAN Workshop on Dynamic and Adaptive Compilation and Optimization (Dynamo’00), Boston, MA, January 2000.

High Performance Fortran Forum. High Performance Fortran language specification version 2.0. Technical report, Rice University, Houston, TX, January 1997. Available via HPFF home page: [link].

Message Passing Interface Forum. MPI-2: Extensions to the Message-Passing Interface. July 1997. MPI Forum Home Page: [link].

M. Hall. Managing Interprocedural Optimization. PhD thesis, Rice University, Houston, TX, April 1991.

G. Ramalingam. Data flow frequency analysis. In Proc. of the ACM SIGPLAN ’96 Conference on Programming Language Design and Implementation (PLDI’96), pages 267–277, Philadelphia, Pennsylvania, May 1996.

T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In Proc. of the ACM Symposium on Principles of Programming Languages (POPL’95), pages 49–61, San Francisco, CA, January 1995.
Publicado
24/10/2000
BENKNER, Siegfried; MEHOFER, Eduard; SCHOLZ, Bernhard. Probabilistic Procedure Cloning for High-Performance Systems. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 12. , 2000, São Pedro/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2000 . p. 105-111. DOI: https://doi.org/10.5753/sbac-pad.2000.41210.