9:00 - 17:00, February 11-14, 2019

Room 440, Astronomy-Mathematics Building, NTU

Instructor:

Kengo Nakajima (University of Tokyo)

Takahiro Katagiri (Nagoya University)

Organizers:

Weichung Wang (National Taiwan University)

Background & Purpose

In order to make full use of modern supercomputer systems with multicore/manycore architectures, hybrid parallel programming with message-passing and multithreading is essential. MPI for message-passing and OpenMP for multithreading are the most popular ways for parallel programming on multicore/manycore clusters.

This 4-day tutorial provides essential knowledge and experiences for parallel programming using MPI and OpenMP. Hands-on exercise by the Readbush-U supercomputer at the University of Tokyo (Intel Broadwell-EP) is also given. (https://www.cc.u-tokyo.ac.jp/system/reedbush/index-e.html).

In this course, OpenMP, MPI and OpenMP/MPI Hybrid are applied to 3D Poisson equation solver by finite-volume method (FVM) with preconditioned conjugate gradient iterative method (PCG). Detailed lectures on data structure for parallel FVM, as well as fundamental trainings for MPI and OpenMP are also provided.

The 4th day of the course will be spent for lectures and hands-on on more advanced topics, such as automatic tuning (AT), and large-scale parallel computing.

預備知識 (Prerequisites)

  • Experiences in Unix/Linux

  • Experiences in emacs or vi

  • Experiences of programming (Fortran or C/C++)

  • Fundamental numerical algorithms (Gaussian Elimination, LU Factorization, Jacobi/Gauss-Seidel/SOR Iterative Solvers)

  • Experiences in SSH Public Key Authentication Method

相關軟體 (Software)


Course Outline

課程內容 (Schedule and Contents)

February 11, 2019 (Mon)

09:10-10:00 Introduction

10:10-11:00 FVM code (1/3)

11:10-12:00 FVM code (2/3)

13:10-14:00 FVM code (3/3)

14:10-15:00 Using the Reedbush-U

15:10-16:00 Parallel FVM (OpenMP) (1/3)

16:10-17:00 Parallel FVM (OpenMP) (2/3)


February 12, 2019 (Tue)

09:10-10:00 Parallel FVM (OpenMP) (3/3)

10:10-11:00 Introduction to Parallel Programming

11:10-12:00 MPI Programming (1/7)

13:10-14:00 MPI Programming (2/7)

14:10-15:00 MPI Programming (3/7)

15:10-16:00 MPI Programming (4/7)

16:10-17:00 MPI Programming (5/7)


February 13, 2019 (Wed)

09:10-10:00 MPI Programming (6/7)

10:10-11:00 MPI Programming (7/7)

11:10-12:00 Parallel Data Structure (1/2)

13:10-14:00 Parallel Data Structure (2/2)

14:10-15:00 Parallel FVM (OpenMP/MPI) (1/5)

15:10-16:00 Parallel FVM (OpenMP/MPI) (2/5)

16:10-17:00 Parallel FVM (OpenMP/MPI) (3/5)


February 14, 2019 (Thu)

09:10-10:00 Parallel FVM (OpenMP/MPI) (4/5)

10:10-11:00 Parallel FVM (OpenMP/MPI) (5/5)

11:10-12:00 Advanced Topics (1/5)

13:10-14:00 Advanced Topics (2/5)

14:10-15:00 Advanced Topics (3/5)

15:10-16:00 Advanced Topics (4/5)

16:10-17:00 Advanced Topics (5/5)


You can also watch it on Youtube !