2015-a Winter

邁向 Petascale 高速運算

Introduction to Parallel Programming for Multicore/Manycore Clusters

臺大數學科學中心 科學計算冬季學校

2015年2月9日至2月12日

國立臺灣大學 天文數學館 301 室

最新訊息

課程簡介

從筆電、桌機、到超級電腦,各種電腦系統都已進入「多核心」(multicore) 與「眾核心 」(manycore) 處理器的世代。要充分利用這些電腦,平行計算是關鍵的知識與能力。在這個四天的密集課程,我們聚焦在 MPI 和 OpenMP 的平行計算環境,講授如何在 MPI+OpenMP 的混合環境中,將有限體積法以及大型線性系統疊代法平行化,藉以求解三維 Poisson 方程。

此課程的另一個特點是,我們將使用東京大學的超級電腦 Oakleaf-FX 進行平行計算。Oakleaf-FX (簡介) 是全球最先進的超級電腦之一,它採用 Fujitsu PRIMEHPC FX10 大規模平行電腦架構,包含 4,800 個計算節點,每個節點配有 16核心的 SPARC64 IXfx 處理器,節點間以六維 Torus Fusion 網路串接,全機包含高達 76,800 核心,150 TB 的主記憶體,以及 1.13 PFLOPS 的尖峰運算能力。Oakleaf-FX 是目前在 TOP500 排名全球第四的 K Computer 的改良機型。(註:Oakleaf-FX 帳號須經申請,並依相關規定審核。)

這個短期課程提供一個非常難得的機會,可以接觸到目前全世界最前沿的高效能平行計算環境。歡迎教師、碩博士生、大學部同學報名參加。本課程以英語講授,課程內容概要如下:

  • Finite Volume Method (FVM), Preconditioned Krylov Iterative Methods
  • Parallel FVM using OpenMP, Reordering/Coloring Methods
  • Parallel FVM using MPI on Distributed Memory Systems, Data Structure for Parallel FVM
  • Parallel FVM using OpenMP/MPI Hybrid Parallel Programming Model

授課教授

  • 中島 研吾 教授 (東京大學 情報基盤中心 超級計算研究部門)

主辦單位與聯絡人

主辦單位:臺大數學科學中心

協辦單位:東京大學情報基盤中心臺灣大學應用數學科學研究所台灣工業與應用數學學會 GPU與高效能計算活動學群

主持人:王偉仲教授 (臺灣大學應用數學科學研究所,wwang@ntu.edu.tw)

聯絡人:劉英貝小姐 (臺大數學科學中心,tassist4@tims.ntu.edu.tw,02-3366-9901)

0.1 Precourse Message

[2015/02/03] A Message Before the Class

Dear Participant of 2015 SC4SC,

You are about to engage in an intensive study of the most advanced computing technology next week. The course is intensive in the sense that there are around 1,000 slides to be gone through within 4 days! And there are some sequential and parallel C codes, too. Yes, it’s kind of crazy. Yet that is what all of us (who really want to challenge ourselves to march to the best) want to do.

We are honor to have Prof. Kengo Nakajima, a world leading expert in high-performance computing from the University of Tokyo, to give us the lectures and the hands-on sections. We will also have a chance to access a peta-scale parallel computer. This is indeed a rare opportunity to all of us.

Here are several remarks for you. First, on February 9, register between 8:15-8:30 in Room 301, Astro-Math Building, NTU. Remember to bring your own notebook computer. We will assign seats for you and help you to connect to the network. PLEASE BE ON TIME!

(請務必於2月9日星期一 8:15-8:30 前,攜帶你的筆電,到臺大天文數學館 301 室完成報到!遠道或不熟悉環境學員,請提前一天到台北,並預留充分緩衝時間。請準時!)

In addition, please do the following BEFORE the course.

(1) Read the overview of the course in “http://nkl.cc.u-tokyo.ac.jp/NTU2015/overview.pdf”.

(2) Install software Cygwin and ParaView for Windows NB or ParaView for Mac NB.

(3) Read “http://nkl.cc.u-tokyo.ac.jp/NTU2015/Introduction.pdf

(4) Read “http://nkl.cc.u-tokyo.ac.jp/NTU2015/omp-c-01.pdf” (if you use C, p.1-159) or

http://nkl.cc.u-tokyo.ac.jp/NTU2015/omp-f-01.pdf (if you use Fortran, p.1-159).

(5) Browse (or read if possible) other slides listed in the webpage “http://nkl.cc.u-tokyo.ac.jp/NTU2015/“.

We understand it’s a challenge to learn so many materials in such a short time. However, after this short course, you will know where to find information by yourself, so that you are able to catch up further parallel computing by yourself. By doing so, you will be able to write your own parallel codes in the future for your researches and/or career works. In other words, you will become a highly competitive person.

See you next week and let's do it!

Weichung Wang

Organizer of 2015 Short Course for Scientific Computing

Institute of Applied Mathematical Sciences

National Taiwan University

Web: http://homepage.ntu.edu.tw/~wwang

Phone: +886-2-3366-2871

1. Course Info

2015 TIMS Winter School for Scientific Computing

Introduction to Parallel Programming for Multicore/Manycore Clusters

Professor Kengo Nakajima

(Information Technology Center, The University of Tokyo, Tokyo, Japan)

Overview

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. In this 4-day tutorial, we “parallelize” a finite-volume method code with Krylov iterative solvers for Poisson’s equation on Fujitsu PRIMEHPC FX10 supercomputer at the University of Tokyo (Oakleaf-FX, http://www.cc.u-tokyo.ac.jp/system/fx10/index-e.html).

Because of limitation of time, we are mainly focusing on multithreading by OpenMP. ICCG solver (Conjugate Gradient iterative solvers with Incomplete Cholesky preconditioning) is a widely-used method for solving linear equations. Because it includes “data dependency” where writing/reading data to/from memory could occur simultaneously, parallelization using OpenMP is not straightforward. We need certain kind of reordering in order to extract parallelism. First 3 days of the tutorial, lectures and exercise on the following issues will be conducted:

  • Finite-Volume Method (FVM)
  • Krylov Iterative Method
  • Preconditioning
  • Implementation of the Program
  • Introduction to OpenMP
  • Reordering/Coloring Method
  • Parallel FVM Code using OpenMP

On the fourth day of the tutorial, lectures and exercise on the following issues will be conducted:

  • Parallel FVM on Distributed Memory Systems
  • Introduction of MPI
  • Data Structure for Parallel FVM
  • Parallel FVM Code using OpenMP/MPI Hybrid Parallel Programming Model

Prerequisites

  • Experiences in Unix/Linux
  • 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

Preparation

Course Materials

Schedule

February 9, 2015 (Monday)

February 10, 2015 (Tuesday)

09:10-10:00 Introduction (1/2)

10:10-11:00 Introduction (1/2)

11:10-12:00 FVM Code (1/5)

13:10-14:00 FVM Code (2/5)

14:10-15:00 FVM Code (3/5)

15:10-16:00 FVM Code (4/5)

16:10-17:00 FVM Code (5/5)

09:10-10:00 Login to Oakleaf-FX (1/2)

10:10-11:00 Login to Oakleaf-FX (2/2)

11:10-12:00 OpenMP (1/2)

13:10-14:00 OpenMP (2/2)

14:10-15:00 Reordering (1/6)

15:10-16:00 Reordering (2/6)

16:10-17:00 Reordering (3/6)

February 11, 2015 (Wednesday)

February 12, 2015 (Thursday)

09:10-10:00 Reordering (4/6)

10:10-11:00 Reordering (5/6)

11:10-12:00 Reordering (6/6)

13:10-14:00 Parallel Code (1/4)

14:10-15:00 Parallel Code (2/4)

15:10-16:00 Parallel Code (3/4)

16:10-17:00 Parallel Code (4/4)

09:10-10:00 Introduction to Parallel FVM

10:10-11:00 Introduction to MPI (1/2)

11:10-12:00 Introduction to MPI (2/2)

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)

2. Registration

2015 臺大數學科學中心科學計算冬季學校,線上註冊網址:(註冊已結束)。

(本活動不收費用。但名額有限,請於 2015/01/18 前報名。錄取通知預計於 2015/01/21 以電子郵件寄發。)

3. Poster

Download Poster PDF file.