NanosCompiler: supporting flexible multilevel parallelism exploitation in OpenMP
2000; Wiley; Volume: 12; Issue: 12 Linguagem: Inglês
10.1002/1096-9128(200010)12
ISSN1096-9128
AutoresMarc González, Eduard Ayguadé, Xavier Martorell, Jesús Labarta, Nacho Navarro, José M. Oliver,
Tópico(s)Cloud Computing and Resource Management
ResumoConcurrency: Practice and ExperienceVolume 12, Issue 12 p. 1205-1218 Research Article NanosCompiler: supporting flexible multilevel parallelism exploitation in OpenMP Marc Gonzàlez, Marc Gonzàlez Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorEduard Ayguadé, Corresponding Author Eduard Ayguadé Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainComputer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorXavier Martorell, Xavier Martorell Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorJesús Labarta, Jesús Labarta Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorNacho Navarro, Nacho Navarro Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorJosé Oliver, José Oliver Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this author Marc Gonzàlez, Marc Gonzàlez Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorEduard Ayguadé, Corresponding Author Eduard Ayguadé Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainComputer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorXavier Martorell, Xavier Martorell Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorJesús Labarta, Jesús Labarta Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorNacho Navarro, Nacho Navarro Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this authorJosé Oliver, José Oliver Computer Architecture Department, Technical University of Catalonia, cr. Jordi Girona 1-3, Mòdul D6, 08034 - Barcelona, SpainSearch for more papers by this author First published: 30 November 2000 https://doi.org/10.1002/1096-9128(200010)12:12 3.0.CO;2-2Citations: 17AboutPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Abstract This paper describes the support provided by the NanosCompiler to nested parallelism in OpenMP. The NanosCompiler is a source-to-source parallelizing compiler implemented around a hierarchical internal program representation that captures the parallelism expressed by the user (through OpenMP directives and extensions) and the parallelism automatically discovered by the compiler through a detailed analysis of data and control dependences. The compiler is finally responsible for encapsulating work into threads, establishing their execution precedences and selecting the mechanisms to execute them in parallel. The NanosCompiler enables the experimentation with different work allocation strategies for nested parallel constructs. Some OpenMP extensions are proposed to allow the specification of thread groups and precedence relations among them. Copyright © 2000 John Wiley & Sons, Ltd. REFERENCES 1 OpenMP Organization. Fortran Language Specification, v. 1.0, www.openmp.org [October 1997]. 2Hall MW, Anderson JM, Amarasinghe SP, Murphy BR, Liao S-W, Bugnion E, Lam MS. Maximizing multiprocessor performance with the SUIF compiler. Computer 1996; 29(12): 84– 89. 3Kim SW, Voss M, Eigenmann R. MOERAE: portable interface between a parallelizing compiler and shared-memory multiprocessor architectures. Technical Report, Purdue University, ECE-HPCLab-98210. 4Brunschen C, Brorsson M. OdinMP/CCp—A portable implementation of OpenMP for C. 1st European Workshop on OpenMP, Lund (Sweden), September 1999. 5Sato M, Satoh S, Kusano K, Tanaka Y. Design of OpenMP compiler for an SMP cluster. 1st European Workshop on OpenMP, Lund, Sweden, September 1999. 6Foster I, Kohr DR, Krishnaiyer R, Choudhary A. Double standards: bringing task parallelism to HPF via the message passing interface. Supercomputing'96, November 1996. 7Girkar M, Haghighat MR, Grey P, Saito H, Stavrakos N, Polychronopoulos CD. Illinois-Intel multithreading library: Multithreading support for Intel architecture-based multiprocessor systems. Intel Technology Journal 1998; Q1. 8Shah S, Haab G, Petersen P, Throop J. Flexible control structures for parallelism in OpenMP. 1st European Workshop on OpenMP, Lund, Sweden, September 1999. 9Martorell X, Ayguadé E, Navarro JI, Corbalán J, González M, Labarta J. Thread fork/join techniques for multi-level parallelism exploitation in NUMA multiprocessors. 13th International Conference on Supercomputing ICS'99, Rhodes, Greece, June 1999. 10Martorell X, Labarta J, Navarro JI, Ayguadé E. A library implementation of the nano-threads programming model. Euro-Par'96, August 1996. 11Polychronopoulos CD, Girkar M, Haghighat MR, Lee CL, Leung B, Schouten D. Parafrase–2: An environment for parallelizing, partitioning, and scheduling programs on multiprocessors. International Journal of High Speed Computing 1989; 1(1): 45– 72. 12González M, Martorell X, Oliver J, Ayguadé E, Labarta J. Code generation and run-time support for multi-level parallelism exploitation. 8th International Workshop on Compilers for Parallel Computing CPC'00, Aussois, France, January 2000. 13Polychronopoulos CD. Nano-threads: Compiler driven multithreading. 4th International Workshop on Compilers for Parallel Computing CPC'93, Delft, The Netherlands, December 1993. 14Ayguadé E, Martorell X, Labarta J, González M, Navarro JI. Exploiting multiple levels of parallelism in OpenMP: A case study. 28th International Conference on Parallel Processing ICPP'99, Aizu (Japan), September 1999. 15Gonzalez M, Oliver J, Martorell X, Ayguadé E, Labarta J, Navarro JI. OpenMP extensions for thread groups and their runtime support, languages and compilers for Parallel Computing LCPC'2000, New York, USA. To appear. Citing Literature Volume12, Issue12Special Issue: EWOMP'99—First European Workshop on OpenMPOctober 2000Pages 1205-1218 ReferencesRelatedInformation
Referência(s)