2013年度工学院大学大学院・情報学専攻

言語処理系特論(Language Processor)[2407]


2単位
五百木 伸洋 非常勤講師

最終更新日 : 2014/02/13

<授業のねらい及び具体的な到達目標>
計算機が本来持っている性能を十分に引出すプログラムを作成するためには,計算機の仕様とコンパイラの最適化処理の関係を理解しなければならない。両者の関係を理解した上でプログラムを作成すると,理解していない場合に比べ約2桁程度実効性能に差異が生じる。
計算機には,メニイコア,マルチチップモジュール,MUNAなど,演算性能を引出す上で考慮しなければならない仕様が多く存在する。一方コンパイラは,計算機の仕様に応じ,プログラムの実効性能を引出すための最適化処理を実施するが,すべての仕様に対して処理を最適にすることは技術的に困難である。したがって,最適化のすべてをコンパイラに頼るのではなく,プログラム作成者自身がハードウェアの仕様を理解し,計算機特性に合ったプログラムを記述しなければならないのが現実である。
本講義では,メニイコア,マルチチップモジュール,GPGPUといった最新の計算機仕様を,計算機発展の歴史を踏まえて紹介するとともに,スーパスカラやSIMD機構など、プロセッサが持つ演算機構を効率的に利用するためのコンパイラ最適化処理について解説する。コンパイラの最適化処理を理解すると,プログラムの実効性能を引出す上でボトルネックとなる部分が見えてくることから,計算機仕様とコンパイラ最適化処理の関係を理解することは,効率的なプログラムを作成する上で非常に重要である。

<授業計画及び準備学習>
1 計算機発展の歴史とアーキテクチャの変遷
2 最新のプロセッサアーキテクチャ
3 プログラミング言語の歴史
4 コンパイラの構成と処理
5 最適化処理の概要
6 命令レベル最適化
7 ループ構造変換最適化
8 キャッシュメモリ向け最適化
9 自動並列化技術
10 ハードウェア性能を引出すためのプログラム作成方法
11 オブジェクト指向言語の処理方式
12 仮想計算機JavaVM(Virtual Machine)の概要
13 Java実行時のメモリ割当方式とGC(Garbage Collection)
14 Javaの最適化技術(HotSpotVM及びJITコンパイラ)

<成績評価方法及び水準>
授業の出席点とレポートによって評価する。

<教科書>
特定の教科書を使用せず,授業の際に資料又は文献を配布する。

<参考書>
1.中田育夫:コンパイラの構成と最適化,朝倉書店,1999年
2.今城哲二,布広永示,岩沢京子,千葉雄司;コンパイラとバーチャルマシン,オーム社,2004年
3.金田康正,片桐孝洋,黒田久泰,山本有作,五百木伸洋,並列処理 −高速化と性能向上のために   −,コロナ社,2010年

<オフィスアワー>
授業に対する質問・意見はメールで随時受け付けます。 メールアドレスは,第1回目の講義の時に連絡します。

<学生へのメッセージ>
最先端の計算機アーキテクチャとコンパイラ最適化技術に興味がある学生の受講を歓迎します。

 

このページの著作権は学校法人工学院大学が有しています。
Copyright(c)2013 Kogakuin University. All Rights Reserved.