Freeの64bit版Fortranのセットアップ方法(4)

最後です。

インストールしたgfortranがOpenMPでマルチコアで動くかどうかチェックしてみます。

まず、環境変数の設定が必要です。
[システムのプロパティ]-[詳細設定]-[環境変数]から、新規に以下を設定します。

変数名:OMP_NUM_THREADS

4つCPUがある場合は、変数値を

変数値:4

と入力してください。

次に、チェックするためのFortranソースとして、姫野ベンチを使います。以下のサイトから、Fortran90用のソースをダウンロードします。

http://accc.riken.jp/2462.htm#itemid4504

himenoBMTxp.f90 を用意したら、MingGWのコマンドプロンプトから、以下のようにコンパイルします。

>gfortran -O3 -m64 -fopenmp himenoBMTxp.f90 -o himeno-omp

これで、”himeno-omp.exe”が作成されます。この後に、実行ファイルからリロケート情報とシンボルテーブルを削除するSTRIPを実行してもかまいません。

>strip himeno-omp.exe

これにより、実行ファイルのサイズが減少します。

次に、姫野ベンチを実行します。

>himeno-omp

下記の例では、Sサイズを選択します。タスクマネージャを起動して、CPUの駆動状態を確認しましょう。CPUのコア数最大で動いていることがわかると思います。

この計算では、4個のCPUでマルチコアモードで動作させると、1個のCPUと比べて約1.4倍計算時間が速くなりました。

以上で説明は終わります。LAPACKを使ったコンパイルの仕方や、LAPACK95、GOTOBLASを使用したい場合などは、その都度、コンパイルオプションを変更する必要があります。また機会がありましたら、このBlogにアップしたいと思います。