000916370 001__ 916370 000916370 005__ 20250822121410.0 000916370 0247_ $$2doi$$a10.5281/ZENODO.7391024 000916370 037__ $$aFZJ-2022-06171 000916370 041__ $$aEnglish 000916370 1001_ $$0P:(DE-Juel1)145478$$aHerten, Andreas$$b0$$eCorresponding author$$ufzj 000916370 1112_ $$aSupercomputing Conference$$cDallas$$d2022-11-14 - 2022-11-14$$gSC22$$wUSA 000916370 245__ $$aEfficient Distributed GPU Programming for Exascale 000916370 260__ $$c2022 000916370 3367_ $$2DRIVER$$alecture 000916370 3367_ $$031$$2EndNote$$aGeneric 000916370 3367_ $$2BibTeX$$aMISC 000916370 3367_ $$0PUB:(DE-HGF)17$$2PUB:(DE-HGF)$$aLecture$$blecture$$mlecture$$s1671630118_31167$$xAfter Call 000916370 3367_ $$2ORCID$$aLECTURE_SPEECH 000916370 3367_ $$2DataCite$$aText 000916370 500__ $$aMaterial available at https://zenodo.org/record/7391024 000916370 520__ $$aOver the past years, GPUs became ubiquitous in HPC installations around the world. Today, they provide the majority of performance of some of the largest supercomputers (e.g. Summit, Sierra, JUWELS Booster). This trend continues in the recently deployed and upcoming Pre-Exascale and Exascale systems (LUMI, Leonardo; Frontier, Perlmutter): GPUs are chosen as the core computing devices to enter this next era of HPC.To take advantage of future GPU-accelerated systems with tens of thousands of devices, application developers need to have the proper skills and tools to understand, manage, and optimize distributed GPU applications. In this tutorial, participants will learn techniques to efficiently program large-scale multi-GPU systems. While programming multiple GPUs with MPI is explained in detail, also advanced tuning techniques and complementing programming models like NCCL and NVSHMEM are presented. Tools for analysis are shown and used to motivate and implement performance optimizations. The tutorial teaches fundamental concepts that apply to GPU-accelerated systems in general, taking the NVIDIA platform as an example. It is a combination of lectures and hands-on exercises, using Europe’s fastest supercomputer, JUWELS Booster, for interactive learning and discovery. 000916370 536__ $$0G:(DE-HGF)POF4-5122$$a5122 - Future Computing & Big Data Systems (POF4-512)$$cPOF4-512$$fPOF IV$$x0 000916370 536__ $$0G:(DE-HGF)POF4-5112$$a5112 - Cross-Domain Algorithms, Tools, Methods Labs (ATMLs) and Research Groups (POF4-511)$$cPOF4-511$$fPOF IV$$x1 000916370 536__ $$0G:(DE-HGF)POF4-5111$$a5111 - Domain-Specific Simulation & Data Life Cycle Labs (SDLs) and Research Groups (POF4-511)$$cPOF4-511$$fPOF IV$$x2 000916370 536__ $$0G:(DE-Juel-1)ATML-X-DEV$$aATML-X-DEV - ATML Accelerating Devices (ATML-X-DEV)$$cATML-X-DEV$$x3 000916370 588__ $$aDataset connected to DataCite 000916370 7001_ $$0P:(DE-Juel1)188270$$aOden, Lena$$b1$$ufzj 000916370 7001_ $$0P:(DE-Juel1)180799$$aHrywniak, Markus$$b2$$ufzj 000916370 7001_ $$0P:(DE-Juel1)137023$$aKraus, Jiri$$b3$$ufzj 000916370 7001_ $$0P:(DE-HGF)0$$aGarcia De Gonzalo, Simon$$b4 000916370 773__ $$a10.5281/ZENODO.7391024 000916370 8564_ $$uhttps://github.com/FZJ-JSC/tutorial-multi-gpu/ 000916370 909CO $$ooai:juser.fz-juelich.de:916370$$pVDB 000916370 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)145478$$aForschungszentrum Jülich$$b0$$kFZJ 000916370 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)188270$$aForschungszentrum Jülich$$b1$$kFZJ 000916370 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)180799$$aForschungszentrum Jülich$$b2$$kFZJ 000916370 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)137023$$aForschungszentrum Jülich$$b3$$kFZJ 000916370 9131_ $$0G:(DE-HGF)POF4-512$$1G:(DE-HGF)POF4-510$$2G:(DE-HGF)POF4-500$$3G:(DE-HGF)POF4$$4G:(DE-HGF)POF$$9G:(DE-HGF)POF4-5122$$aDE-HGF$$bKey Technologies$$lEngineering Digital Futures – Supercomputing, Data Management and Information Security for Knowledge and Action$$vSupercomputing & Big Data Infrastructures$$x0 000916370 9131_ $$0G:(DE-HGF)POF4-511$$1G:(DE-HGF)POF4-510$$2G:(DE-HGF)POF4-500$$3G:(DE-HGF)POF4$$4G:(DE-HGF)POF$$9G:(DE-HGF)POF4-5112$$aDE-HGF$$bKey Technologies$$lEngineering Digital Futures – Supercomputing, Data Management and Information Security for Knowledge and Action$$vEnabling Computational- & Data-Intensive Science and Engineering$$x1 000916370 9131_ $$0G:(DE-HGF)POF4-511$$1G:(DE-HGF)POF4-510$$2G:(DE-HGF)POF4-500$$3G:(DE-HGF)POF4$$4G:(DE-HGF)POF$$9G:(DE-HGF)POF4-5111$$aDE-HGF$$bKey Technologies$$lEngineering Digital Futures – Supercomputing, Data Management and Information Security for Knowledge and Action$$vEnabling Computational- & Data-Intensive Science and Engineering$$x2 000916370 9141_ $$y2022 000916370 9201_ $$0I:(DE-Juel1)JSC-20090406$$kJSC$$lJülich Supercomputing Center$$x0 000916370 980__ $$alecture 000916370 980__ $$aVDB 000916370 980__ $$aI:(DE-Juel1)JSC-20090406 000916370 980__ $$aUNRESTRICTED