編集不可のページ History 添付ファイル

 

ページ名: HowToCompile

プログラムのコンパイル

Intel コンパイラ

C で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ icpx ソースファイル名 -o 出力するプログラム名

$ icc ソースファイル名 -o 出力するプログラム名

C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.

$ icpx ソースファイル名 -o 出力するプログラム名

$ icc ソースファイル名 -o 出力するプログラム名

Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ ifx ソースファイル名 -o 出力するプログラム名

$ ifort ソースファイル名 -o 出力するプログラム名

GNU コンパイラ

C で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ gcc ソースファイル名 -o 出力するプログラム名

C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ g++ ソースファイル名 -o 出力するプログラム名

Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ gfortran ソースファイル名 -o 出力するプログラム名

Intel MPI

C で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ mpiicc -cc=icx ソースファイル名 -o 出力するプログラム名

C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ mpiicpc -cxx=icpx ソースファイル名 -o 出力するプログラム名

Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

$ mpiifort -fc=ifx ソースファイル名 -o 出力するプログラム名

(例)
C で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト

#PBS -q wEduq
#PBS -l select=1:ncpus=4:mpiprocs=4
#PBS -v DOCKER_IMAGE=mpi-env:latest,DOCKER_OPTIONS="--network=overlaynw"

ulimit -c 0          # avoid generating core files
source /etc/profile  # enable module command
. /common/intel-2022/compiler/latest/env/vars.sh  # Intel compiler
. /common/intel-2022/mpi/latest/env/vars.sh       # Intel MPI
. /common/intel-2022/mkl/latest/env/vars.sh       # Intel MKL

cd $PBS_O_WORKDIR

mpiicc -cc=icx test.c -o test.x
mpirun -np 4 ./test.x

* ジョブの投入方法は,ジョブの実行 を参照して下さい.

Open MPI

C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.

$ mpicc ソースファイル名 -o 出力するプログラム名

C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.

$ mpicpc ソースファイル名 -o 出力するプログラム名

Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.

$ mpif90 ソースファイル名 -o 出力するプログラム名

$ mpif77 ソースファイル名 -o 出力するプログラム名

(例)
Fortran で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト

#PBS -q wEduq
#PBS -l select=1:ncpus=4:mpiprocs=4
#PBS -v DOCKER_IMAGE=mpi-env:latest,DOCKER_OPTIONS="--network=overlaynw"

ulimit -c 0          # avoid generating core files
source /etc/profile  # enable module command
. /common/intel-2022/compiler/latest/env/vars.sh  # Intel compiler
. /common/intel-2022/mpi/latest/env/vars.sh       # Intel MPI
. /common/intel-2022/mkl/latest/env/vars.sh       # Intel MKL

cd $PBS_O_WORKDIR

mpiifort -fc=ifx test.f90 -o test.x
mpirun -np 4 ./test.x

* ジョブの投入方法は,ジョブの実行 を参照して下さい.