Core Labs Training_Catalogue-v2 (edit 2)-web

HIGH-PERFORMANCE COMPUTING SERVICES

Introduction to Parallel Computing HIGH-PERFORMANCE COMPUTING SERVICES

Introduction to Parallel Programming with MPI

This course is a simple introduction to Parallel computing. It gives an overview of modern High Performance Computing (HPC) architecture. It also offers a brief overview of programming models to program such architectures. In this hands-on training participants will: • Get an overview of what Parallel computing is and where to use it • Be familiarized with Parallel programming models and how they are used to program modern microarchitecture • Understand the concept of scalability and how to use compute resources efficiently PARTICIPANT PROFILE This course is intended for researchers with simulation workflows using third party codes, or scientific software developers writing sequential programs in C/ C++, Fortran & Python who intend to parallelize their codes. No previous experi- ence with Parallel programming or use of HPC resources is expected. However, background knowledge of programming in C, Fortran, or Python would be useful to understand the provided examples. Some familiarity with Linux command line would be useful to navigate on the training platform. PREREQUISITES MAXIMUM PARTICIPANTS 40 DURATION 3 hours FREQUENCY Yearly

Message Passing Interface (MPI) is a de facto standard for programming an application for distributed memory architectures. MPI libraries, based on this standard, enable communication over high speed interconnect between multiple nodes of a supercomputer. The intended learning outcomes of this hands-on training are: • To become familiarized with the MPI standard • To learn how to initialize MPI environment inside a program • To understand basic MPI communication patterns available in MPI standard At the end of the course, participants will parallelize a sequential code using MPI to reduce its computation time on the Shaheen Supercomputer. PARTICIPANT PROFILE This course is intended for scientific software developers writing sequential programs in C, C++, Fortran, and Python, who intend to parallelize their codes to run on multiple nodes of a distributed memory architecture such as the Shaheen supercomputer. Background knowledge of writing code in C, Fortran, or Python, and familiarity with Linux command line are required. PREREQUISITES • Introduction to Parallel computing OR an understanding of multicore and distributed memory architecture MAXIMUM PARTICIPANTS 40 DURATION 1 day FREQUENCY Yearly

Learn Develop Excel

Specialized Instrument & Method Training Catalog

Edition 1, September 2020

295

Made with FlippingBook - Online catalogs