Toward Automatic Performance Tuning for Numerical Simulations in the SILC Matrix Computation Framework

This chapter presents a performance modeling method for numerical simulations in the SILC matrix computation framework. An application program of SILC is a client of a SILC server that provides the client with access to matrix computation libraries in an environment- and language-independent manner. The scope of the present study is to model the performance of a SILC client conducting a numerical simulation by means of a parallel SILC server running on a shared-memory parallel machine. The proposed method employs a simple performance model that describes the execution time of a SILC client as a function of the number of threads on which a parallel SILC server runs. The obtained performance model is then used to determine the optimal number of threads for the particular combination of the SILC client and server. The proposed method was applied to three application programs in combination with an OpenMP-based parallel SILC server running on SGI Altix 3700. Experimental results showed that the proposed method yields accurate estimates of the execution time in most cases. Based on the proposed performance modeling method, an automatic performance tuning mechanism for numerical simulations in SILC is also presented.

[1]  Andrew P. Witkin,et al.  Large steps in cloth simulation , 1998, SIGGRAPH.

[2]  Reiji Suda,et al.  Distributed SILC: An Easy-to-Use Interface for MPI-Based Parallel Matrix Computation Libraries , 2006, PARA.

[3]  Yuefan Deng,et al.  New trends in high performance computing , 2001, Parallel Computing.

[4]  James Demmel,et al.  SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems , 2003, TOMS.

[5]  Charles L. Lawson,et al.  Solving least squares problems , 1976, Classics in applied mathematics.

[6]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.

[7]  F. W. Kellaway,et al.  Advanced Engineering Mathematics , 1969, The Mathematical Gazette.

[8]  Graham R. Nudd,et al.  Application Execution Steering using On-the-Fly Performance Prediction , 1998, HPCN Europe.

[9]  Reiji Suda,et al.  SILC: A Flexible and Environment-Independent Interface for Matrix Computation Libraries , 2005, PPAM.

[10]  S. Lang Calculus of Several Variables , 1973 .

[11]  R. Suda,et al.  LAPACK in SILC: use of a flexible application framework for matrix computation libraries , 2005, Eighth International Conference on High-Performance Computing in Asia-Pacific Region (HPCASIA'05).

[12]  Jack Dongarra,et al.  ScaLAPACK Users' Guide , 1987 .

[13]  S. Koshizuka,et al.  Moving-Particle Semi-Implicit Method for Fragmentation of Incompressible Fluid , 1996 .

[14]  Reiji Suda,et al.  Cloth Simulation in the SILC Matrix Computation Framework: A Case Study , 2007, PPAM.

[15]  M. Hestenes,et al.  Methods of conjugate gradients for solving linear systems , 1952 .

[16]  Akira Nishida,et al.  Scalable software infrastructure project , 2006, SC.