準備: プログラムの作成方法
コンパイラの使い方、デバッガの使い方、
システムの負荷の調べ方などを身につける。
ここの準備ができていないと
(たとえば最適化オプションが使えるようにならないと)、
高速化の入り口のところでつまずくことになるので注意すること。
-
資料の高速化の
2. コンパイラについてを参考に
- gcc の
-O2
オプションについて
info や man で調べる。
- 計算機室の Linux には
gcc として3つのバージョンのコマンド(gcc, gcc34, gcc44)
がインストールされていることに注意。
それぞれ,gcc は version 4.1.2,
gcc34 は version 3.4.6,
gcc44 は version 4.4.7
がインストールされている。
特に理由がなければ,gcc44 を用いること推奨する.
言い換えれば,資料の多くは,gcc コマンドとして書かれているが,
計算機室の Linux では gcc44 コマンドに読み替えるとよい.
- gcc の
-S
オプションについて理解し,
適当なCプログラム (たとえば課題1の
サンプルプログラム) をコンパイルして得られる
アセンブリコードを読んでみること。
「計算機システムI,II」で扱っている命令と比較してみる.
-
-g
オプションでコンパイルした実行形式を用いて
gdbを使用してみること。
ブレークポイント,ステップ実行,バックトレース表示など,
を利用してみる。
-
資料の高速化の
3. オペレーティングシステムについてを参考に
- topコマンドで,使用しているLinux端末のプロセスの負荷などをみる。
プログラムを実行してみるとどうなるか。
- また xpu コマンド
(電通大小宮先生作, 「q」で終了する.)がインストールされているので,これで
各プロセッサ(コア)の負荷を見てみる。
並列化がうまくいっているかの確認などに利用可能.
Masahiro Yasugi