= プログラムのコンパイル =
== 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プロセス並列で実行する場合のジョブスクリプト
{{{
#!/bin/bash
#PBS -q wEduq
#PBS -l select=1:ncpus=4:mpiprocs=4
#PBS -v DOCKER_IMAGE=mpi-env:latest
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/mkl/latest/env/vars.sh # Intel MKL
. /common/intel-2022/mpi/latest/env/vars.sh # Intel MPI
cd $PBS_O_WORKDIR
mpiicc -cc=icx test.c -o test.x
mpirun -np 4 ./test.x
}}}
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい.
== Open MPI ==
C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ mpicc ソースファイル名 -o 出力するプログラム名
}}}
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ mpicpc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ mpif90 ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ mpif77 ソースファイル名 -o 出力するプログラム名
}}}
(例)<
>Fortran で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト
{{{
#!/bin/bash
#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
module load openmpi.intel-4.0.1
cd $PBS_O_WORKDIR
mpiifort -fc=ifx test.f90 -o test.x
mpirun -np 4 ./test.x
}}}
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい.