001026686 001__ 1026686 001026686 005__ 20250822121412.0 001026686 0247_ $$2doi$$a10.5281/ZENODO.11370170 001026686 037__ $$aFZJ-2024-03501 001026686 041__ $$aEnglish 001026686 1001_ $$00000-0002-5699-1793$$aGarcia de Gonzalo, Simon$$b0 001026686 1112_ $$aISC High Performance 2024$$cHamburg$$d2024-05-12 - 2024-05-16$$gISC24$$wGermany 001026686 245__ $$aEfficient Distributed GPU Programming for Exascale 001026686 260__ $$c2024 001026686 3367_ $$033$$2EndNote$$aConference Paper 001026686 3367_ $$2DataCite$$aOther 001026686 3367_ $$2BibTeX$$aINPROCEEDINGS 001026686 3367_ $$2DRIVER$$aconferenceObject 001026686 3367_ $$2ORCID$$aLECTURE_SPEECH 001026686 3367_ $$0PUB:(DE-HGF)6$$2PUB:(DE-HGF)$$aConference Presentation$$bconf$$mconf$$s1717740277_3870$$xAfter Call 001026686 520__ $$aOver the past decade, GPUs became ubiquitous in HPC installations around the world, delivering 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 (JUPITER, LUMI, Leonardo; El Capitan, Frontier, Aurora): 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 propers 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 one of Europe's fastest supercomputers, JUWELS Booster, for interactive learning and discovery. 001026686 536__ $$0G:(DE-HGF)POF4-5121$$a5121 - Supercomputing & Big Data Facilities (POF4-512)$$cPOF4-512$$fPOF IV$$x0 001026686 536__ $$0G:(DE-HGF)POF4-5122$$a5122 - Future Computing & Big Data Systems (POF4-512)$$cPOF4-512$$fPOF IV$$x1 001026686 536__ $$0G:(DE-HGF)POF4-5112$$a5112 - Cross-Domain Algorithms, Tools, Methods Labs (ATMLs) and Research Groups (POF4-511)$$cPOF4-511$$fPOF IV$$x2 001026686 536__ $$0G:(DE-Juel-1)ATML-X-DEV$$aATML-X-DEV - ATML Accelerating Devices (ATML-X-DEV)$$cATML-X-DEV$$x3 001026686 588__ $$aDataset connected to DataCite 001026686 7001_ $$0P:(DE-Juel1)145478$$aHerten, Andreas$$b1$$eCorresponding author 001026686 7001_ $$0P:(DE-HGF)0$$aHrywniak, Markus$$b2 001026686 7001_ $$0P:(DE-HGF)0$$aKraus, Jiri$$b3 001026686 7001_ $$0P:(DE-Juel1)172093$$aOden, Lena$$b4 001026686 773__ $$a10.5281/ZENODO.11370170 001026686 8564_ $$uhttps://github.com/FZJ-JSC/tutorial-multi-gpu/tree/v6.0%252Bisc24 001026686 909CO $$ooai:juser.fz-juelich.de:1026686$$pVDB 001026686 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)145478$$aForschungszentrum Jülich$$b1$$kFZJ 001026686 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-5121$$aDE-HGF$$bKey Technologies$$lEngineering Digital Futures – Supercomputing, Data Management and Information Security for Knowledge and Action$$vSupercomputing & Big Data Infrastructures$$x0 001026686 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$$x1 001026686 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$$x2 001026686 9141_ $$y2024 001026686 920__ $$lyes 001026686 9201_ $$0I:(DE-Juel1)JSC-20090406$$kJSC$$lJülich Supercomputing Center$$x0 001026686 980__ $$aconf 001026686 980__ $$aVDB 001026686 980__ $$aI:(DE-Juel1)JSC-20090406 001026686 980__ $$aUNRESTRICTED