Abstract
HPC systems are widely used for accelerating calculation-intensive irregular applications, e.g., molecular dynamics (MD) simulations, astrophysics applications, and irregular grid applications. As the scalability and complexity of current HPC systems keeps growing, it is difficult to parallelize these applications in an efficient fashion due to irregular communication patterns, load imbalance issues, dynamic characteristics, and many more. This paper presents a fine granular programming scheme, on which programmers are able to implement parallel scientific applications in a fine granular and SPMD (single program multiple data) fashion. Different from current programming models starting from the global data structure, this programming scheme provides a high-level and object-oriented programming interface that supports writing applications by focusing on the finest granular elements and their interactions. Its implementation framework takes care of the implementation details e.g., the data partition, automatic EP aggregation, memory management, and data communication. The experimental results on SuperMUC show that the OOP implementations of multi-body and irregular applications have little overhead compared to the manual implementations using C++ with OpenMP or MPI. However, it improves the programming productivity in terms of the source code size, the coding method, and the implementation difficulty.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Board, J.A., Hakura, Z., Elliott, W., Gray, D., Blanke, W., Leathrum, J.F.: Scalable implementations of multipole-accelerated algorithms for molecular dynamics. In: 1994 Proceedings of the Scalable High-Performance Computing Conference, pp. 87–94, May 1994
Boyd, D., Milosevich, S.: Supercomputing and drug discovery research. Perspect. Drug Discovery Des. 1, 345–358 (1993). http://dx.doi.org/10.1007/BF02174534
Clementi, E., Chin, S., Corongiu, G., Detrich, J., Dupuis, M., Folsom, D., Lie, G., Logan, D., Sonnad, V.: Supercomputing and super computers: for science and engineering in general and for chemistry and biosciences in particular. In: Theophanides, T. (ed.) Spectroscopy of Inorganic Bioactivators. NATO ASI Series, vol. 280, pp. 1–112. Springer, Netherlands (1989)
Kremer, K.: Supercomputing in polymer research. In: Gentzsch, W., Harms, U. (eds.) HPCN-Europe 1994. LNCS, vol. 796, pp. 244–253. Springer, Heidelberg (1994)
Board, O.A.R.: OpenMP Application Program Interface. OpenMP, Specification (2011). http://www.openmp.org/mpdocuments/OpenMP3.1.pdf
Chapman, B., Jost, G., Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation). The MIT Press, Cambridge (2007)
Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI-The Complete Reference. The MPI Core, vol. 1, 2nd edn. MIT Press, Cambridge (1998)
Pacheco, P.S.: Parallel programming with MPI. Morgan Kaufmann Publishers Inc., San Francisco (1996)
Gropp, W., Lusk, E., Skjellum, A.: Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press, Cambridge (1994)
NVIDIA Corporation: NVIDIA CUDA Compute Unified Device Architecture - Programming Guide (2007)
Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. Queue 6(2), 40–53 (2008). http://doi.acm.org/10.1145/1365490.1365500
Schreiber, R.: An introduction to HPF. In: Perrin, G.-R., Darte, A. (eds.) The Data Parallel Programming Model. LNCS, vol. 1132, pp. 27–44. Springer, Heidelberg (1996)
Kennedy, K., Koelbel, C.: High performance fortran 2.0. In: Pande, S., Agrawal, D.P. (eds.) Compiler Optimizations for Scalable Parallel Systems. LNCS, vol. 1808, pp. 3–43. Springer, Heidelberg (2001)
Kale, L.V., Krishnan, S.: Charm++: a portable concurrent object oriented system based on C++. SIGPLAN Not. 28(10), 91–108 (1993). http://doi.acm.org/10.1145/167962.165874
Kale, L.V., Ramkumar, B., Sinha, A.B., Gursoy, A.: The CHARM parallel programming language, system: Part I - Description of language features. Parallel Program. Lab. Tech. Rep. #95-02 1, 1–15 (1994)
Kale, L.V., Ramkumar, B., Sinha, A.B., Saletore, V.A.: The CHARM parallel programming language, system: Part II - The runtime system. Parallel Program. Lab. Tech. Rep. #95-03 1, 1–14 (1994)
Intel: TBB (Intel Threading Building Blocks). In: Padua, D. (ed.) Encyclopedia of Parallel Computing, p. 2029. Springer, Heidelberg (2011)
Russell, G., Keir, P., Donaldson, A.F., Dolinsky, U., Richards, A., Riley, C.: Programming heterogeneous multicore systems using threading building blocks. In: Guarracino, M.R., et al. (eds.) Euro-Par-Workshop 2010. LNCS, vol. 6586, pp. 117–125. Springer, Heidelberg (2011)
Molner, S.P.: The art of molecular dynamics simulation (Rapaport, D. C.). J. Chem. Educ. 76(2), 171 (1999). http://pubs.acs.org/doi/abs/10.1021/ed076p171
Aarseth, S.J.: Gravitational N-Body Simulations. Cambridge University Press, Cambridge (2003). http://dx.doi.org/10.1017/CBO9780511535246
LRZ: SuperMuc petascale system (2012). https://www.lrz.de/services/compute/supermuc/systemdescription/
Karypis, G., Kumar, V., MeTis: Unstrctured Graph Partitioning and Sparse Matrix Ordering System, Version 2.0 (1995). http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.376
Das, R., shin Hwang, Y., Uysal, M., Saltz, J., Sussman, A.: Applying the CHPAOS/PARTI library to irregular problems in computational chemistry and computational aerodynamics, in Mississippi State University, Starkville, MS, pp. 45–56. IEEE Computer Society Press (1993)
Bericht, I., Gerndt, M.: Parallelization of the AVL FIRE benchmark with SVM-Fortran (1995)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer Science+Business Media Singapore
About this paper
Cite this paper
Huang, H., Jiang, L., Dong, W., Chang, R., Hou, Y., Gerndt, M. (2016). A Fine-Granular Programming Scheme for Irregular Scientific Applications. In: Wu, J., Li, L. (eds) Advanced Computer Architecture. ACA 2016. Communications in Computer and Information Science, vol 626. Springer, Singapore. https://doi.org/10.1007/978-981-10-2209-8_12
Download citation
DOI: https://doi.org/10.1007/978-981-10-2209-8_12
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-2208-1
Online ISBN: 978-981-10-2209-8
eBook Packages: Computer ScienceComputer Science (R0)