計算科学演習A

Numbering Code G-INF00 58021 SJ10
G-INF00 58021 SJ11
Year/Term 2022 ・ First semester
Number of Credits 1 Course Type Seminar
Target Year Target Student
Language Japanese Day/Period Mon.2
Instructor name SATO HIROYUKI (Graduate School of Informatics Program-Specific Associate Professor)
Outline and Purpose of the Course The aim of this course is to obtain skills for high performance computing and basic parallel computing through statistical processing for large-scale data.

For this purpose, students write three types of C language programs for the regression analysis, which is a typical method for estimation. One is a program for serial computation, another is for parallel computation by OpenMP, and the other is for parallel computation by MPI. In lectures, we first give an introduction to numerical algorithm, linear algebra, regression analysis, and parallel computing techniques by using OpenMP and MPI.

[Outline and Purpose of the Interdisciplinary Graduate Course]
In exercises, students will practically acquire techniques on computational science and parallel computing by working on specific problems. In particular, graduate students with a background in science and engineering who have not been clearly aware of techniques on computational science will be able to take an approach to their own field from a new viewpoint.
Course Goals Students will acquire skills for high performance computing and basic parallel computing. The goal is to be able to use two major parallel computing techniques, OpenMP and MPI.
Schedule and Contents ・Numerical computation and computational science (1 time)
Lecture on numerical computation with a computer by discussing the bisection method and Gaussian elimination method as examples

・Linear algebra (1 time)
Lecture on Gram-Schmidt orthonormalization method and QR decomposition for linear regression and All Reduce algorithms for QR decomposition on computers with distributed memory

・Regression analysis (1 time)
Lecture on linear regression and least-squares method

・Speed-up of serial computation (1 time)
Lecture on techniques for speed-up of serial computation such as some efficient algorithms and effective use of computer architecture and cache.

・Introduction to OpenMP (1 time)
Lecture on parallel computing techniques for computers with shared memory using OpenMP
・Introduction to MPI (1 time)
Parallel computing techniques for computers with distributed memory using MPI

・Implementation of linear regression (9 times)
Implementation of three types of C language programs for linear regression;
Implementation of serial codes followed by parallelization by using OpenMP and MPI
Evaluation Methods and Policy The grade will be based on reports (80%) and active participation in the class (20%).

Students will submit two reports on programs for parallel computing by using OpenMP and MPI. The reports will be evaluated in terms of whether computations are correctly and efficiently performed.
Course Requirements In the exercises, programs are implemented by C language. Students are expected to have already learned C language grammar or to prepare and review in parallel with lectures.
Study outside of Class (preparation and review) In writing codes, students are expected to implement their ideas that cannot be implemented during the class.
Students are also expected to acquire deeper knowledge, e.g., by using a library, on each topic that will not be discussed in detail due to time constraints.
Textbooks Textbooks/References Handouts to be distributed.
Not specified.
References, etc. Not specified.
PAGE TOP