2023-A-Nakajima Kengo

Advanced Course on Multi-Threaded Parallel Programming using OpenMP for Multicore/Manycore Systems

February 14-16, 2023 

Room 505, Chee-Chun Leung Cosmology Hall, National Taiwan University (Map)
(台灣大學・次震宇宙館・505 室・地圖)



February 14 (Tue), 2023
09:10-10:00 Introduction
10:10-11:00 Finite Volume Method (FVM) (1/4)
11:10-12:00 Finite Volume Method (FVM) (2/4)
13:10-14:00 Finite Volume Method (FVM) (3/4)
14:10-15:00 Finite Volume Method (FVM) (4/4)
15:10-16:00 Introduction to OpenMP (1/4)
16:10-17:00 Login to Odyssey

February 15 (Wed), 2023
09:10-10:00 Introduction to OpenMP (2/4)
10:10-11:00 Introduction to OpenMP (3/4)
11:10-12:00 Introduction to OpenMP (4/4)
13:10-14:00 ICCG Method (1/3)
14:10-15:00 ICCG Method (2/3)
15:10-16:00 ICCG Method (3/3)
16:10-17:00 Reordering (1/4)

February 16 (Thu), 2023
09:10-10:00 Reordering (2/4)
10:10-11:00 Reordering (3/4)
11:10-12:00 Reordering (4/4)
13:10-14:00 Parallel FVM using OpenMP (1/4)
14:10-15:00 Parallel FVM using OpenMP (2/4)
15:10-16:00 Parallel FVM using OpenMP (3/4)
16:10-17:00 Parallel FVM using OpenMP (4/4)

請在 2023/01/15 17:00 前線上註冊 : https://forms.gle/n2vi9XkiPVj46Pi6A



Preparation for PC


In order to make full use of modern supercomputer systems with multicore/manycore architectures, hybrid parallel programming with message-passing and multithreading is essential. While MPI is widely used for message-passing, OpenMP for CPU and OpenACC for GPU are the most popular ways for multithreading on multicore/manycore clusters. In this 3-day course, we focus on the optimization of single node performance using OpenMP for CPU. We “parallelize” a finite-volume method (FVM) code with Krylov iterative solvers for Poisson’s equation on Wisteria/BDEC-01(Odyssey)System (http://nkl.cc.u-tokyo.ac.jp/22s/WisteriaBDEC01.pdf) with Fujitsu/Arm A64FX (same architecture as that of “Fugaku” supercomputer) at the University of Tokyo, which is ranked 23rd in the Top500 list published in November 2022 (https://www.top500.org/).

In this Winter School, the target application is a 3D FVM code for Poisson’s equation by ICCG Method (Conjugate Gradient (CG) iterative method with Incomplete Cholesky preconditioning), which is widely used in practical applications. Because ICCG includes “data dependency,” where writing/reading data to/from memory could occur simultaneously, parallelization using OpenMP is not straightforward. We need a certain kind of reordering in order to extract parallelism. In this 3-day course, lectures and exercises on the following issues will be provided:


Prof. Kengo Nakajima

Information Technology Center, The University of Tokyo, Tokyo, Japan  [Web]

主辦單位科技部 國家理論科學研究中心數學組


主持人Pochung Chen (National Tsing Hua University), Tsung-Ming Huang (National Taiwan Normal University), Feng-Nan Hwang (National Central University), Ying-Jer Kao (National Taiwan University), Weichung Wang (National Taiwan University)

聯絡人:Ms. Murphy Yu < murphyyu@ncts.tw >