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.
KeywordsExecution Time Application Program Linear Solver Sparse Linear System Pressure Poisson Equation
We would like to thank anonymous reviewers for their careful review and valuable comments on the manuscript. This research was supported by a grant-in-aid project  in the Core Research for Evolutional Science and Technology (CREST) program of the Japan Science and Technology Agency.
- 1.Dongarra JJ, Ltaief H (2009) Freely available software for linear algebra on the web. http://www.netlib.org/utk/people/JackDongarra/la-sw.html
- 5.Balay S, Buschelman K, Eijkhout V, Gropp WD, Kaushik D, Knepley MG, McInnes LC, Smith BF, Zhang H (2008) PETSc users manual. Technical Report ANL-95/11 – Revision 3.0.0, Argonne National LaboratoryGoogle Scholar
- 6.The SSI Project (2006) User’s Manual for Lis 1.0.2. http://www.ssisc.org/lis/
- 7.Kajiyama T, Nukada A, Hasegawa H, Suda R, Nishida A (2006) SILC: A flexible and environment independent interface for matrix computation libraries. In: Proceedings of the PPAM 2005, LNCS 3911. Springer, Heidelberg, pp 928–935Google Scholar
- 8.Kajiyama T, Nukada A, Suda R, Hasegawa H, Nishida A (2007) Distributed SILC: An easy-to-use interface for MPI-based parallel matrix computation libraries. In: Proceedings of the PARA’06, LNCS 4699. Springer, Heidelberg, pp 860–870Google Scholar
- 10.Kreyszig E (1999) Advanced engineering mathematics, 8th edn. Wiley, New YorkGoogle Scholar
- 11.Baraff D, Witkin A (1998) Large steps in cloth simulation. In: Proceedings of the ACM SIGGRAPH ’98, pp 43–54Google Scholar
- 12.Kajiyama T, Nukada A, Suda R, Hasegawa H, Nishida A (2008) Cloth simulation in the SILC matrix computation framework: A case study. In: Proceedings of the PPAM 2007, LNCS 4967. Springer, Heidelberg, pp 1086–1095Google Scholar
- 13.Koshizuka S, Oka Y (1996) Moving-particle semi-implicit method for fragmentation of incompressible fluid. Nucl Sci Eng 123:421–434Google Scholar
- 17.Kajiyama T, Nukada A, Hasegawa H, Suda R, Nishida A (2005) LAPACK in SILC: Use of a flexible application framework for matrix computation libraries. In: Proceedings of the HPC Asia 2005, IEEE Computer Society, pp 205–212Google Scholar
- 18.Kerbyson D, Papaefstathiou E, Nudd G (1998) Application execution steering using on-the-fly performance prediction. In: Proceedings of the HPCN’98, LNCS 1401. Springer, Heidelberg, pp 718–727Google Scholar
- 19.Nishida A, Kotakemori H, Kajiyama T, Nukada A (2006) Scalable software infrastructure project. In: Proceedings of the SC06, poster. http://www.ssisc.org/