Abstract
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.
The work reported in this chapter was done in the context of the previous affiliation as follows: CREST, Japan Science and Technology Agency, Saitama 332–0012, Japan.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Dongarra JJ, Ltaief H (2009) Freely available software for linear algebra on the web. http://www.netlib.org/utk/people/JackDongarra/la-sw.html
Whaley RC, Petitet A, Dongarra JJ (2001) Automated empirical optimization of software and the ATLAS project. Parallel Comput 27:3–35
Blackford LS, Choi J, Cleary A, D’Azevedo E, Demmel J, Dhillon I, Dongarra J, Hammarling S, Henry G, Petitet A, Stanley K, Walker D, Whaley RC (1997) ScaLAPACK users’ guide. SIAM, PA
Li XS, Demmel JW (2003) SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems. ACM Trans Math Software 29:110–140
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 Laboratory
The SSI Project (2006) User’s Manual for Lis 1.0.2. http://www.ssisc.org/lis/
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–935
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–870
Lawson CL, Hanson RJ (1995) Solving least squares problems. SIAM, PA
Kreyszig E (1999) Advanced engineering mathematics, 8th edn. Wiley, New York
Baraff D, Witkin A (1998) Large steps in cloth simulation. In: Proceedings of the ACM SIGGRAPH ’98, pp 43–54
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–1095
Koshizuka S, Oka Y (1996) Moving-particle semi-implicit method for fragmentation of incompressible fluid. Nucl Sci Eng 123:421–434
Lang S (1979) Calculus of several variables, 2nd edn. Addison-Wesley, MA
Hestenes MR, Stiefel E (1952) Methods of conjugate gradients for solving linear systems. J Res Natl Bur Stand 49:409–436
Barrett R, Berry M, Chan TF, Demmel J, Donato J, Dongarra J, Eijkhout V, Pozo R, Romine C, van der Vorst H (1994) Templates for the solution of linear systems: Building blocks for iterative methods, 2nd edn. SIAM, PA
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–212
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–727
Nishida A, Kotakemori H, Kajiyama T, Nukada A (2006) Scalable software infrastructure project. In: Proceedings of the SC06, poster. http://www.ssisc.org/
Acknowledgments
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 [19] in the Core Research for Evolutional Science and Technology (CREST) program of the Japan Science and Technology Agency.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer New York
About this chapter
Cite this chapter
Kajiyama, T., Nukada, A., Suda, R., Hasegawa, H., Nishida, A. (2011). Toward Automatic Performance Tuning for Numerical Simulations in the SILC Matrix Computation Framework. In: Naono, K., Teranishi, K., Cavazos, J., Suda, R. (eds) Software Automatic Tuning. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-6935-4_11
Download citation
DOI: https://doi.org/10.1007/978-1-4419-6935-4_11
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-6934-7
Online ISBN: 978-1-4419-6935-4
eBook Packages: EngineeringEngineering (R0)