Skip to content

Repository for the 2nd Latin American School on Parallel Programming for High Performance Computing

Notifications You must be signed in to change notification settings

StockingTW/hpc-school2019

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2nd Latin American School on Parallel Programming for High Performance Computing

The goal of the school is to teach scientists modern computer hardware and programming to provide a foundation for future computational research using High Performance Computing (HPC). Participants will go through an intensive programme with focus on practical skills. Participants will learn how to improve the efficiency of their research codes, and to parallelize them. Lectures on a selection of technical aspects of modern HPC hardware will be mixed with introductions to widely used parallel programming tools and libraries. The hands-on sessions will allow participants to learn from examples of problems of general scientific interest. Topics will cover numerical methods and parallel strategies, as well as data management.

The programme specifically addresses the needs of scientists using, writing, or modifying HPC applications, and will not assume, require, or provide significant IT and HPC resource management skills. It will be mainly based on fundamental HPC-relevant features in widely used scientific software for high-performance computing.

Topics:

  • Computer architectures for HPC and optimization
  • Parallel programming tools (MPI & OpenMP)
  • Parallel programming best practices
  • Floating-point math
  • Profiling and Debugging
  • Principles and Practices of Parallel SW Development

Organizers:

  • Raphael Cobe (NCC-UNESP/AI2, Brazil)
  • Ivan Girotto (ICTP-Trieste, Italy)
  • Sergio F. Novaes (UNESP/AI2, Brazil)
  • Silvio Luiz Stanzani (NCC-UNESP/AI2, Brazil)

Lecturers:

  • Ivan Girotto (ICTP-Trieste, Italy)
  • Axel Kohlmeyer (Temple University, Philadelphia, US)
  • Gavin Pringle (EPCC, Edinburgh, UK)
  • Silvio Luiz Stanzani (NCC-UNESP/AI2, Brazil)

Materials used during the School

Day 1

Introduction to High-Performance Computing [Slides]

Foundation of Modern Computer Architecture [Slides] [Hands on]

Hands-on Session [Code]

Day 2

From Source Code to Executable [Slides] [Code]

Code Optimization I [Slides]

Interfacing Multiple Programming Languages [Slides] [Code]

Floating Point Math and Errors [Slides] [Code]

Day 3

Basic Principles of Parallelism [Slides]

Introduction to OpenMP [Slides] [Code]

Day 4

Message Passing Programming with MPI [Slides]

MPI Exercises [Slides] [Lab]

Day 5

Overview of Common Strategies for Parallelization [Slides] [Lab]

Code Optimization II [Slides] [Code]

Day 6

LJMD Project [Slides] [Code]

Lattice-Boltzmann Code Best Practices [Slides]

Day 7

Overview of Parallel Math Libraries [Slides]

Introduction to Parallel I/O [Slides]

Day 8

Collaborative Software Management: The LAMMPS Project [Slides]

Task Farming for Embarrassingly Parallel Processing [Slides] [Code]

Day 9

Overview of GPU Computing [Slides]

Containers in HPC [Slides]

About

Repository for the 2nd Latin American School on Parallel Programming for High Performance Computing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 75.3%
  • C++ 11.5%
  • Fortran 7.4%
  • Makefile 3.4%
  • HTML 2.0%
  • Python 0.2%
  • Other 0.2%