9:00 - 17:00, February 22 - 25, 2018

Room 301, 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. The 1st Part is focusing on training of fundamental MPI and OpenMP. The basic functions and usage of MPI and OpenMP are explained. Several training of parallelization by using sample programs based on fundamental numerical computations, such as matrix-matrix multiplication, are provided. In the 2nd Part, MPI and OpenMP/MPI 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 are also provided.

Course Outline

February 22, 2018(Th)

09:10-10:00 Introduction (KN)

10:10-11:00 Overview of OpenMP (TK)

11:10-12:00 Functions of OpenMP (TK)

13:10-14:00 Training of OpenMP (TK)

14:10-15:00 Overview of MPI (TK)

15:10-16:00 How to use the Reedbush-U (KN)

16:10-17:00 Trainings on the Reedbush-U (KN)

Exercise 1

February 23, 2018 (F) (Katagiri)

09:10-10:00 Functions of MPI Non-blocking and Persistent Communication

10:10-11:00 Parallelization of dense Matrix-Vector Multiplications (1/2)

11:10-12:00 Parallelization of dense Matrix-Vector Multiplications (2/2)

Exercise 2

13:10-14:00 Parallelization of dense Power Method for eigenvalue problem (1/2)

14:10-15:00 Parallelization of dense Power Method for eigenvalue problem (2/2)

Exercise 3

15:10-16:00 Parallelization of Fully Distributed dense Matrix-Matrix Multiplication (1/2)

Exercise 4

16:10-17:00 Parallelization of Fully Distributed dense Matrix-Matrix Multiplication (2/2)

Exercise 5

February 24, 2018 (Sa) (Nakajima)

09:10-10:00 FVM code (1/4)

10:10-11:00 FVM code (2/4)

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

13:10-14:00 FVM code (4/4) and sparse linear solver

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

15:10-16:00 Parallel Data Structure (2/2)

16:10-17:00 Parallel FVM (1/4)

February 25, 2018 (Su) (Nakajima)

09:10-10:00 Parallel FVM (2/4)

10:10-11:00 Parallel FVM (3/4)

11:10-12:00 Parallel FVM (4/4)

13:10-14:00 OpenMP/MPI Hybrid (1/4)

14:10-15:00 OpenMP/MPI Hybrid (2/4)

15:10-16:00 OpenMP/MPI Hybrid (3/4)

16:10-17:00 OpenMP/MPI Hybrid (4/4)

Report (topics including strong scaling, weak scaling, preconditioning, performance comparison, etc.)


You can also watch it on Youtube !