menu

コンパイル

コンパイル

■コンパイルに利用するコマンドはどのコンパイラを使う場合も共通です.

開発環境(Cray, Intel, GNU)の切り替えにより,コマンドで実際に呼び出されるコンパイラが変わります.

(実際に利用する)コマンドIntelGNUCray
ftnifortgfortrancrayftn
cciccgcccraycc
CCicpcg++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