コンパイル
コンパイル
■コンパイルに利用するコマンドはどのコンパイラを使う場合も共通です.
■開発環境(Cray, Intel, GNU)の切り替えにより,コマンドで実際に呼び出されるコンパイラが変わります.
(実際に利用する)コマンド | Intel | GNU | Cray |
---|---|---|---|
ftn | ifort | gfortran | crayftn |
cc | icc | gcc | craycc |
CC | icpc | g++ | crayCC |
■システム上で利用できる言語は上記のみです.
■MPIプログラムをコンパイルする場合も,ftn, cc, CCコマンドを利用します.(mpicc, mpif90などは利用しません)
■Ruby,Perl等のスクリプト言語を実行することはできません.
コンパイル例(Crayコンパイラ):
% cc -O3 -homp -hautothread -o test-hybrid.exe test-hybrid.c
コンパイルオプション例
Crayコンパイラ:
オプション | 内容 |
---|---|
-O[1or2or3] | 最適化レベル |
-hautothread | 自動並列化 |
-h[no]omp | OpenMPの使用・不使用 |
-hvector[1or2or3] | SIMDベクトル化レベルの設定 |
-hthread[1or2or3] | スレッド最適化レベルの設定 |
-hscalar[1or2or3] | スカラ最適化レベルの設定 |
-hfp[1or2or3] | 不動小数点演算最適化レベルの設定 |
並列化
OpenMP , MPIおよびこれらのハイブリッドプログラミングをサポートしています.
OpenMP
コンパイル時に以下のオプションを入れてください.
OpenMPのライブラリに自動リンクされます.
- Cray環境 : -h[no]omp
- Intel環境 : -openmp
- GNU環境 : -fopenmp
プログラム実行時に以下の設定が必要です.
- 環境変数 OMP_NUM_THREADS
- aprunコマンドオプション -d thread_num
自動並列化
Crayコンパイラ,Intelコンパイラは自動並列化に対応しています.
以下のオプションを入れてコンパイルしてください.
- Cray環境 : -Oautothread
- Intel環境 : -parallel
並列化
OpenMP , MPIおよびこれらのハイブリッドプログラミングをサポートしています.
OpenMP
コンパイル時に以下のオプションを入れてください.
OpenMPのライブラリに自動リンクされます.
- Cray環境 : -h[no]omp
- Intel環境 : -openmp
- GNU環境 : -fopenmp
プログラム実行時に以下の設定が必要です.
- 環境変数 OMP_NUM_THREADS
- aprunコマンドオプション -d thread_num
自動並列化
Crayコンパイラ,Intelコンパイラは自動並列化に対応しています.
以下のオプションを入れてコンパイルしてください.
- Cray環境 : -Oautothread
- Intel環境 : -parallel