シラバス参照

講義概要/Course Information
2020/04/28 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
ハイパフォーマンスコンピューティング特論
英文授業科目名
/Course title (English)
Advanced High Performance Computing
科目番号
/Code
開講年度
/Academic year
2020年度 開講年次
/Year offered
全学年
開講学期
/Semester(s) offered
前学期 開講コース・課程
/Faculty offering the course
博士前期課程、博士後期課程
授業の方法
/Teaching method
講義 単位数
/Credits
2
科目区分
/Category
大学院専門教育科目 - 専門科目Ⅱ
開講学科・専攻
/Cluster/Department
情報・ネットワーク工学専攻
担当教員名
/Lecturer(s)
成見 哲
居室
/Office
西9-719
公開E-Mail
/e-mail
narumi@cs.uec.ac.jp
授業関連Webページ
/Course website
なし
更新日
/Last updated
2020/02/28 22:31:45 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標
/Topic and goals
テーマ

ハイパフォーマンスコンピューティング(高性能計算)の技術の中でも、アクセラレータ(計算加速)技術を取り上げます。専用計算機の歴史、GPUをアクセラレータとして使う方法や性能モデル、CPUでSIMD演算を使ってアクセラレータ的に使う方法などを扱います。
Main topic of this lecture is High Performance Computing (HPC). Especially, a brief history of special-purpose computers, and how to use GPUs are treated.

達成目標

(1)アクセラレータの概念が理解できていること。
(2)GPUによるプログラムが書け、いくつかの最適化手法を適用出来ること。
(3)CPUでSIMD演算を使ったプログラムが書けること。
(4)アクセラレータの性能モデルについて理解していること。
前もって履修
しておくべき科目
/Prerequisites
特になし。ただし、linuxのコマンド(ls, cp等)を使えること。
Usage of Linux command like ls, cp, and etc.
前もって履修しておくこ
とが望ましい科目
/Recommended prerequisites and preparation
特になし
None
教科書等
/Course textbooks and materials
特になし。適宜プリントを配ります。
None
授業内容と
その進め方
/Course outline and weekly schedule
授業の進め方は、まずアクセラレータの概念を説明します。次にGPUを使った簡単なプログラミングを行います。そして、GPUを使った分子動力学シミュレーションプログラムの最適化を行います。また、CPUでSIMD演算命令を使って高速化して違いを学びます。最後に、GPUでの性能モデルを構築しアクセラレータの特徴を再確認します。
First, basic concept of accelerator is explained. Then a simple programming with GPU is shown. Optimization method for a GPU program of molecular dynamics simulations is explained. Also, how to optimize CPU program with SIMD operations is shown for comparison. Finally, a performance model of GPU is explained to further understand the characteristics of the GPU.

授業計画

1回 はじめに
Introduction
2回 アクセラレータとは
Basic idea of an accelerator
3回 専用計算機とは
Basic architecture and history of a special-purpose computer
4回 GPUとは
Basic architecture of a GPU
5回 GPUによるプログラミング(単純なカーネルの実装)
Implementing a simple kernel with a GPU
6回 GPUの最適化(shared memoryを使った高速化)
Accelerating a GPU program with a shared memory
8回 GPUの最適化(constant memoryを使った高速化)
Accelerating a GPU program with a constant memory
9回 GPUの最適化(その他の高速化)
Accelerating a GPU program with other techniques
10回 CPUのアクセラレータとしての利用
Using a CPU as an accelerator
11回 CPUの最適化(OpenMPを使った高速化)
Accelerating a CPU program with OpenMP
12回 CPUの最適化(SIMD命令の基本)
Accelerating a CPU program with SIMD operations 1
13回 CPUの最適化(SIMD命令の応用)
Accelerating a CPU program with SIMD operations 2
14回 GPUの性能モデル(並列度)
Building a performance model with a GPU especially on parallelism
15回 GPUの性能モデル(通信速度)
Building a performance model with a GPU especially on communication

場合によって、講義内容の順番が少し入れ替わることがあります。
The order of lecture might change.
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
授業時間外の学習
(予習・復習等)
/Preparation and review outside class
授業で行った内容はその日に実際にCEDのマシンで動かすようにしましょう
Programs shown in the lecture should be run in the same day at CED computer room.
成績評価方法
および評価基準
(最低達成基準を含む)
/Evaluation and grading
主にレポートによる。以下の到達レベルをもって合格の最低水準とする。
(1)アクセラレータの概念について説明できること。
(2)GPUによる簡単なプログラムが書けること。
(3)GPUによる高速化手法と性能モデルを理解していること。
(4)CPUによるSIMD命令を用いたプログラムが書けること。
Evaluation is based on the report shown in the lecture.
オフィスアワー:
授業相談
/Office hours
西9棟719号室、木曜3限
都合がつかない場合は適宜メールで連絡してください。
Office hour is from 13:00 to 14:30 every Thursday at room 719 in building West-9.
Email me if this is not convenient.
学生へのメッセージ
/Message for students
CEDのマシンで実際にGPGPUを体験します。CPUだけでもかなり高速化可能であることも体験します。ただ、プログラミングが苦手な人には少し大変かもしれません。
You can use GPUs in CED computer room, as well as CPU optimization. The class would be hard for those who are not familiar with programming.
その他
/Others
特になし
None
キーワード
/Keyword(s)
GPGPU、ハイパフォーマンスコンピューティング(High Performance Computing)、アクセラレータ(Accelerator)、SIMD命令(SIMD operation)