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

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


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

最終更新日 : 2012/11/09

<授業のねらい及び具体的な達成目標>
計算機が持つハードウェア性能を十分に引出すプログラムを作成するためには,計算機のアーキテクチャとコンパイラの最適化処理の関係を理解しなければならない。両者の関係を理解した上でプログラムを作成すると,理解していない場合に比べ2桁程度実効性能に差異が生じる。そこで,メニイコアやGPGPUといった最新の計算機アークテクチャを,計算機発展の歴史を踏まえて紹介するとともに,スーパスカラやSIMD機構など、プロセッサが持つ演算機構を効率的に利用するためのコンパイラ最適化処理について解説する。コンパイラの最適化処理を理解すると,プログラムの実効性能を引出す上でボトルネックとなる部分が見えてくることから,計算機アークテクチャとコンパイラ最適化処理の関係を理解することは,効率的なプログラムを作成する上で非常に重要である。

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

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

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

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

<オフィスアワー>
授業に対する質問・意見はメールで随時受け付けます。

<学生へのメッセージ>
計算機上でのプログラム実行の仕組み及び実効性能に興味のある方の参加を歓迎します。

 

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