MPIアプリケーションのコンパイル

コンパイル環境の切り替え

SCore には複数の MPI の実装が含まれています。 また、コンパイルに使用されるコンパイラも複数 使用できるようになっています。 SCore では MPI のコンパイラを起動するためのコマンド、 (mpicc(1) など) の wrapper を用意していて、環境変数もしくは引数で切り替えられる ようにしています。

以下に説明する引数以外は個々の MPI のコマンドに渡されます。

MPI の切り替え

MPI の切り替えは -mpi オプションもしくは SCORE_MPI 環境変数によって行います。 現在のバージョンで指定できるのは、mpich-1.2.5yampi です。 引数も環境変数も指定されていないときは、 mpich-1.2.5 が使用されます。

同じ MPI を使用しても SCore に対する実装が複数ある場合があります。 このようなときは、 -deviceコマンドで実装の種類を指定することが できます。 現在、この引数に相当する機能は使用していません。

コンパイラの切り替え

コンパイラの選択は -compiler オプションもしくは SCORE_BUILD_COMPILERS で指定します。

同じコンパイラでバージョンが複数ある場合は、-compiler_path オプション あるいは SCORE_COMPILERSで異なるコンパイラを指定することができます。

コンパイルコマンド

各言語をコンパイルするコマンドは以下です。
言語コマンド
Cmpicc
C++mpic++
Fortran 77mpif77
Fortran 90mpif90

サンプルプログラムのコンパイル

alltoall.c は MPI_Alltoall 関数による 全体全通信の性能を測定する MPI プログラムです。C 言語で記述 されています。 このプログラムをコンパイルするにはmpiccを使用します。
% mpicc -O2 -o alltoall alltoall.c

関連項目

MPIアプリケーションの実行

mpic++(1), mpicc(1), mpif77(1), mpirun(1) scrun(1)

任意のコンパイラの提供