ebook img

OpenMP: Portable Multi-Level Parallelism on Modern Systems: 16th International Workshop on OpenMP, IWOMP 2020, Austin, TX, USA, September 22–24, 2020, Proceedings PDF

342 Pages·2020·18.799 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview OpenMP: Portable Multi-Level Parallelism on Modern Systems: 16th International Workshop on OpenMP, IWOMP 2020, Austin, TX, USA, September 22–24, 2020, Proceedings

Kent Milfeld · Bronis R. de Supinski · Lars Koesterke · Jannis Klinkenberg (Eds.) OpenMP: Portable Multi-Level 5 9 2 Parallelism on Modern 2 1 S C Systems N L 16th International Workshop on OpenMP, IWOMP 2020 Austin, TX, USA, September 22–24, 2020 Proceedings Lecture Notes in Computer Science 12295 Founding Editors Gerhard Goos Karlsruhe Institute of Technology, Karlsruhe, Germany Juris Hartmanis Cornell University, Ithaca, NY, USA Editorial Board Members Elisa Bertino Purdue University, West Lafayette, IN, USA Wen Gao Peking University, Beijing, China Bernhard Steffen TU Dortmund University, Dortmund, Germany Gerhard Woeginger RWTH Aachen, Aachen, Germany Moti Yung Columbia University, New York, NY, USA More information about this series at http://www.springer.com/series/7408 Kent Milfeld Bronis R. de Supinski (cid:129) (cid:129) Lars Koesterke Jannis Klinkenberg (Eds.) (cid:129) OpenMP: Portable Multi-Level Parallelism on Modern Systems 16th International Workshop on OpenMP, IWOMP 2020 – Austin, TX, USA, September 22 24, 2020 Proceedings 123 Editors KentMilfeld Bronis R. deSupinski TexasAdvancedComputingCenter(TACC) Lawrence LivermoreNational Laboratory Austin, TX,USA Livermore, CA,USA LarsKoesterke Jannis Klinkenberg TexasAdvancedComputingCenter(TACC) RWTH Aachen University Austin, TX,USA Aachen, Germany ISSN 0302-9743 ISSN 1611-3349 (electronic) Lecture Notesin Computer Science ISBN 978-3-030-58143-5 ISBN978-3-030-58144-2 (eBook) https://doi.org/10.1007/978-3-030-58144-2 LNCSSublibrary:SL2–ProgrammingandSoftwareEngineering ©SpringerNatureSwitzerlandAG2020 Chapters“ACaseStudyonAddressingComplexLoadImbalanceinOpenMP”and“AStudyofMemory AnomaliesinOpenMPApplications”arelicensedunderthetermsoftheCreativeCommonsAttribution4.0 International License(http://creativecommons.org/licenses/by/4.0/).Forfurtherdetailsseelicence informa- tioninthechapters. Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartofthe material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodologynow knownorhereafterdeveloped. Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse. Thepublisher,theauthorsandtheeditorsaresafetoassumethattheadviceandinformationinthisbookare believedtobetrueandaccurateatthedateofpublication.Neitherthepublishernortheauthorsortheeditors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissionsthatmayhavebeenmade.Thepublisherremainsneutralwithregardtojurisdictionalclaimsin publishedmapsandinstitutionalaffiliations. ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureSwitzerlandAG Theregisteredcompanyaddressis:Gewerbestrasse11,6330Cham,Switzerland Preface OpenMP is a widely used application programming interface (API) for high-level parallel programming in Fortran, C, and C++. OpenMP has been supported in most high-performancecompilersandbyhardwarevendorssinceitwasintroducedin1997. UndertheguidanceoftheOpenMPArchitectureReviewBoard(ARB)andthediligent workoftheOpenMPLanguageCommittee,theOpenMPspecificationhasevolvedup to version 5.0, with version 5.1 soon to be released. It extends parallelism at several levels: offloading in heterogeneous systems; task-based processing across processors; and vectorization in SIMD units. It also goes beyond parallel computing by including and enhancing memory operations, management, and affinity policy; matching direc- tives and functions to computing environments; and processor affinity. These advances are realized by the major 5.0 features: context selectors and the declare variant construct and metadirectives that use them; the requires directive; memoryallocatorsandsupportfor deepcopyof pointer-baseddata structures; acquire and release semantics; task (memory) affinity; the descriptive loop construct; reverse offloading; affinity display; and first and third-party tool interfaces. OpenMP 5.0 also significantlyenhancedmanyexistingfeatures,suchasimplicitdeclaretargetsemantics, support for task reductions, discontiguous array shaping in target updates, and imperfectly nested loop collapsing. The latest proposed additions, which are found in OpenMP Technical Report 9 (TR9),areexpectedtobeincludedinOpenMP5.1whentheARBreleasesitlaterthis year. The base languages C11, C18, C++18, C++11, C+14, C++17, and Fortran 2008 are fully supported. Initial support of C++20 and Fortran 2018 will be provided. DirectivescannowbespecifiedasC++attributes,facilitatingandsimplifyingtemplate creation.ThenewdirectivefeaturesinOpenMP5.1include:tileandunrolltransforms; interop and API routines for portable interactions with non-OpenMP device execution contexts (e.g., CUDA streams and OpenCL queues); the assume directive for speci- fying OpenMP invariants to enable more effective compiler optimization; support for compare-and-swap and min/max atomics; a scope construct that enables reductions outside of loops; and an error directive that supports compile-time and runtime error/ warning messages and actions. Theadvancements,bigandsmall,reflecttheusecasesthatcomefromourOpenMP user, vendor, and research communities. The OpenMP Language Committee carefully evaluates and incorporates community needs into the OpenMP specification, a multi- language high-level parallel paradigm that is performant, productive, and portable for the entire hardware spectrum from embedded and accelerator devices to manycore shared-memory systems. OpenMPisimportantbothasastand-aloneparallelprogrammingmodelandaspart of a hybrid programming model for massively parallel, distributed memory systems consisting of homogeneous manycore nodes and heterogeneous node architectures, as foundinleadingsupercomputers.Asmuchoftheincreasedparallelismintheexascale vi Preface systemsisexpectedtobewithinanode,OpenMPwillbecomeevenmorewidelyused in top-end systems. Importantly, the features in OpenMP 5.0 and 5.1 support appli- cations on such systems in addition to facilitating portable exploitation of specific system attributes. The community of OpenMP, researchers, and developers are united under the cOMPunity organization. This organization has held workshops on OpenMP around the world since 1999: the European Workshop on OpenMP (EWOMP), the North AmericanWorkshop onOpenMP Applicationsand Tools (WOMPAT),and theAsian Workshop on OpenMP Experiences and Implementation (WOMPEI) attracted annual audiences from academia and industry. The International Workshop on OpenMP (IWOMP) consolidated these three workshop series into a single annual international event that rotates across Europe, Asia-Pacific, and the Americas. The first IWOMP workshop was organized under the auspices of cOMPunity. Since that workshop, the IWOMP Steering Committee has organized these events and guided development of the series. The first IWOMP meeting was held in 2005, in Eugene, Oregon, USA. Sincethen,meetingshavebeenheldeachyear,inReims,France;Beijing,China;West Lafayette, USA; Dresden, Germany; Tsukuba, Japan; Chicago, USA; Rome, Italy; Canberra, Australia; Salvador, Brazil; Aachen, Germany; Nara, Japan; Stony Brook, USA; Barcelona, Spain; and Auckland, New Zealand. Each workshop draws partici- pantsfrom research,programdevelopergroups,andindustrythroughout theworld.In 2020, IWOMP continued the series with technical papers and tutorials presented througha virtualconference, dueto theCOVID-19 pandemic.We thank thegenerous support of sponsors that help make these meetings successful; they are cited on the conference pages (present and archived) at the iwomp.org website. The evolution of the specification would be impossible without active research in OpenMP compilers, runtime systems, tools, and environments. The many additions in OpenMP5.0and5.1reflectavibrantanddedicatedresearchcommunity,committedto OpenMP support. As we move beyond the present needs, and adapt and evolve OpenMP to the expanding parallelism in new architectures, the OpenMP research communitywillcontinuetoplayavitalrole.Thepapersinthisvolumedemonstratethe adaptionofnewfeaturesfoundinOpenMP5.0andshowhowtheOpenMPfeatureset can significantly enhance user experiences on a wide range of systems. These papers also demonstrate the forward thinking of the research community, and potential OpenMP directions and further improvements for systems on the horizon. The IWOMP website (www.iwomp.org) has the latest workshop information, as well as links to archived events. This publication contains proceedings of the 16th edition of the conference series (IWOMP 2020). The workshop program included 21 technicalpapers,3keynotetalks,andatutorialonOpenMP.Alltechnicalpaperswere peerreviewedbyatleastfourdifferentmembersoftheProgramCommittee.Thework evidencedbytheseauthorsandthecommitteedemonstratesthatOpenMPwillremaina key technology well into the future. September 2020 Kent Milfeld Bronis R. de Supinski Lars Koesterke Jannis Klinkenberg Organization General Chair Kent Milfeld Texas Advanced Computing Center, USA Program Committee Co-chairs Bronis R. de Supinski Lawrence Livermore National Laboratory, USA Lars Koesterke Texas Advanced Computing Center, USA Publication Chair Jannis Klinkenberg RWTH Aachen University, Germany Tutorial Chairs Yun (Helen) He NationalEnergyResearchScientificComputingCenter (NERSC), USA Chris Ramos Texas Advanced Computing Center, USA Sponsorship Chair Melyssa Fratkin Texas Advanced Computing Center, USA Program Committee Alex Duran Intel Iberia, Spain Amit Ruhela Texas Advanced Computing Center, USA Chunhua Liao Lawrence Livermore National Laboratory, USA Deepak Eachempati Hewlett Packard Enterprise, USA Eduard Ayguade BSC, Universitat Politècnica de Catalunya, Spain Florina Ciorba University of Basel, Switzerland Gaurav Mitra Texas Instruments, Inc., USA James Beyer NVIDIA, USA Jannis Klinkenberg RWTH Aachen University, Germany Jini Susan George AMD, Inc., USA Joachim Protze RWTH Aachen University, Germany Johannes Doerfert Argonne National Laboratory, USA Kelvin Li IBM, Canada Larry Meadows Intel, USA Mark Bull The University of Edinburgh, UK Michael Kruse Argonne National Laboratory, USA viii Organization Mitsuhisa Sato RIKEN Center for Computational Science (R-CCS), Japan Oliver Sinnen The University of Auckland, New Zealand Oscar Hernandez Oak Ridge National Laboratory, USA Stephen Olivier Sandia National Laboratories, USA Terry Wilmarth Intel, USA Thomas Scogland Lawrence Livermore National Laboratory, USA Website Tim Lewis Croftedge Marketing Limited, USA IWOMP Steering Committee Steering Committee Chair Matthias S. Müller RWTH Aachen University, Germany Steering Committee Dieter an Mey RWTH Aachen University, Germany Eduard Ayguadé BSC, Universitat Politècnica de Catalunya, Spain Mark Bull EPCC, The University of Edinburgh, UK Barbara Chapman Stony Brook University, USA Bronis R. de Supinski Lawrence Livermore National Laboratory, USA Rudolf Eigenmann University of Delaware, USA William Gropp University of Illinois, USA Michael Klemm Intel, Germany Kalyan Kumaran Argonne National Laboratory, USA Lawrence Meadows Intel, USA Stephen L. Olivier Sandia National Laboratories, USA Ruud van der Pas Oracle, USA Alistair Rendell Flinders University, Australia Mitsuhisa Sato RIKEN Center for Computational Science (R-CCS), Japan Sanjiv Shah Intel, USA Oliver Sinnen The University of Auckland, New Zealand Josemar Rodrigues de SENAI Unidade CIMATEC, Brazil Souza Christian Terboven RWTH Aachen University, Germany Matthijs van Waveren OpenMP ARB & CS Group, France Contents Performance Methodologies FAROS: A Framework to Analyze OpenMP Compilation Through Benchmarking and Compiler Optimization Analysis . . . . . . . . . . . . . . . . . . 3 Giorgis Georgakoudis, Johannes Doerfert, Ignacio Laguna, and Thomas R. W. Scogland Evaluating the Efficiency of OpenMP Tasking for Unbalanced Computation on Diverse CPU Architectures. . . . . . . . . . . . . . . . . . . . . . . . 18 Stephen L. Olivier Applications A Case Study of Porting HPGMG from CUDA to OpenMP Target Offload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Christopher Daley, Hadia Ahmed, Samuel Williams, and Nicholas Wright P-Aevol: An OpenMP Parallelization of a Biological Evolution Simulator, Through Decomposition in Multiple Loops . . . . . . . . . . . . . . . . . . . . . . . . 52 Laurent Turpin, Thierry Gautier, Jonathan Rouzaud-Cornabas, and Christian Perez Evaluating Performance of OpenMP Tasks in a Seismic Stencil Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Eric Raut, Jie Meng, Mauricio Araya-Polo, and Barbara Chapman OpenMP Extensions Unified Sequential Optimization Directives in OpenMP. . . . . . . . . . . . . . . . 85 Brandon Neth, Thomas R. W. Scogland, Michelle Mills Strout, and Bronis R. de Supinski Supporting Data Shuffle Between Threads in OpenMP . . . . . . . . . . . . . . 98 Anjia Wang, Xinyao Yi, and Yonghong Yan Performance Studies Towards an Auto-Tuned and Task-Based SpMV (LASs Library) . . . . . . . . . 115 Sandra Catalán, Tetsuzo Usui, Leonel Toledo, Xavier Martorell, Jesús Labarta, and Pedro Valero-Lara

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.