CS特別講義XI
|
|
担当教員 |
池井満、安生健一朗(インテル株式会社)
|
電子メール | 池井: mitsuru.ikei [at] intel.com, 安生: kenichiro.anjo [at] intel.com |
URL | |
オフィスアワー | |
科目番号 | 01CH714 |
分野 | 特別講義 |
基礎/専門の別 | |
授業形態 | 講義(演習を含む) |
開講学期 | 春AB |
時限 | 金2 |
教室 | 3B405 |
キーワード | プロセッサ・マイクロアーキテクチャ, 最適化, 並列化, ベクトル化 |
Keyword | Processor micro architecture, Optimization, Parallelization, Vectorization |
前提条件 | Cによるプログラミングの経験があることが望ましい. 紹介するOpenMP等の言語については,例として取り上げるため,基本的な知識があればより理解しやすいが,必ずしも必要ではない. |
学位プログラム・コンピテンスとの関係 | |
学習目標 | |
概要 | 一般に幅広く用いられているx86のアーキテクチャとそれがソフトウェアに与える影響、ソフトエア開発ツールを利用したソフトウェア最適化手法、並列処理の概念と手法の理解を目的とした講義を行う。 |
授業計画 |
1. x86 プロセッサ・マイクロアーキテクチャ インテル Pentium 4 プロセッサ以降のマイクロアーキテクチャについて解説し,以下について理解する.
マイクロアーキテクチャとは,
パイプラインの仕組み(フロントエンド,Out of Order 実行,バックエンド),
キャッシュ構成 と CPI,
ハイパースレッディングとマルチコア,
最新μアーキテクチャ
プロセッサとしては,第5世代 Core (Broadwell),MIC (Xeon Phi),Atom (Silvermont) を取り上げる.
2. ソフトウェア最適化論 計算機プログラムを,最新プロセッサのアーキテクチャを活かすように最適化する方法について解説する. まず,性能最適化を行う手法やその過程で必要となる概念について解説した後,単一スレッドを用いた最適化の手法であるSIMD命令を用いた最適化とキャッシュ構造を利用する最適化について学ぶ. 3. スレッド・プログラミング方法論 近年のプロセッサの特徴の一つであるマルチコアを活用するために必要な,計算機プログラムの並列化の方法について説明する. 例としてOpenMPを取り上げ,CとOpenMPを用いた並列化を行う際に有効な手順や,そのために利用できるソフトウェア開発ツールについて紹介する. 最後に,Cilk+を用いた並列化についても紹介する. |
教科書 | 資料を配布する. |
参考書 | |
成績評価 | レポートまたは演習,授業の出席状況により総合的に評価する. |
TF・TA | |
その他の情報 | 世話人: 阿部洋丈 <habe@cs.tsukuba.ac.jp> |