筑波大学システム情報工学研究科コンピュータサイエンス専攻科目一覧
CS特別講義XI
担当教員
池井満、安生健一朗(インテル株式会社)
電子メール 池井: mitsuru.ikei [at] intel.com, 安生: kenichiro.anjo [at] intel.com
URL
オフィスアワー
科目番号 01CH714, 01CJ418
分野 特別講義
基礎/専門の別 専門科目
授業形態 講義(演習を含む)
開講学期 春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
その他の情報 高度ITプログラム特別講義III (01CJ414) と同一。
世話人: 阿部洋丈 <habe@cs.tsukuba.ac.jp>
ページ先頭へ