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

 

ページ名: "HowToCompile"の差分
11と25のリビジョン間の差分 (その間の編集: 14回)
2019-11-26 12:35:42時点のリビジョン11
サイズ: 3458
編集者: hitachi28
コメント:
2025-06-09 01:38:44時点のリビジョン25
サイズ: 4881
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 5: 行 5:
$ icc ソースファイル名 -o 出力するプログラム名 $ icx ソースファイル名 -o 出力するプログラム名
行 8: 行 8:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行してさい. C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
行 10: 行 10:
$ ifort ソースファイル名 -o 出力するプログラム名 $ icpx ソースファイル名 -o 出力するプログラム名
}}}

Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ ifx ソースファイル名 -o 出力するプログラム名
行 14: 行 19:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 19: 行 24:
== Fortran コンパイラ ==
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ g++ ソースファイル名 -o 出力するプログラム名
}}}

Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 25: 行 34:
== Intel MPI ==
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
== AMD コンパイラ (AOCC) ==
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 28: 行 37:
$ mpiicc ソースファイル名 -o 出力するプログラム名 $ clang ソースファイル名 -o 出力するプログラム名
行 31: 行 40:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 33: 行 42:
$ mpiifort ソースファイル名 -o 出力するプログラム名 $ clang++ ソースファイル名 -o 出力するプログラム名
行 35: 行 44:
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ flang ソースファイル名 -o 出力するプログラム名
}}}

== Intel MPI (Intel コンパイラとの組み合わせ) ==
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ mpiicc -cc=icx ソースファイル名 -o 出力するプログラム名
}}}

C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ mpiicpc -cxx=icpx ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ mpiifort -fc=ifx ソースファイル名 -o 出力するプログラム名
}}}
(例)<<BR>>C で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト
行 38: 行 69:
#PBS -q gSrchq
#PBS -o out.intelmpi
#PBS -j oe
#PBS -l select=2:ncpus=2
#PBS -l walltime=1:00:00
#PBS -v DOCKER_IMAGE=prg-env:2019.10.02,DOCKER_OPTIONS="--network=overlaynw"
#PBS -N impitest
#PBS -q Eduq
#PBS -l select=1:ncpus=4:mpiprocs=4
行 46: 行 72:
source /etc/profile
module load intel
module load intelmpi.intel
ulimit -c 0 # avoid generating core files
.
/etc/profile  # enable module command
module load intel/2025
module load intelmpi/2025
行 50: 行 77:
cd ${PBS_O_WORKDIR} cd $PBS_O_WORKDIR
mpiicc -cc=icx test.c -o test.x
mpirun -np 4 ./test.x
}}}
行 52: 行 82:
prog=mpi-ping-intelmpi.x
mpiicc mpi-ping.c -o $prog
mpirun -np 2 -ppn 1 -hostfile ${PBS_NODEFILE} hostname
mpirun -np 2 -ppn 1 -hostfile ${PBS_NODEFILE} ./$prog -B -r 1 1m
}}}
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob |ジョブの実行]] を参照して下さい.
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい.
行 60: 行 85:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. Open MPIを使用する場合は,コンパイラのコマンドを環境変数で指定します.ここではGNUコンパイラの場合を示します.
C言語で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 62: 行 88:
$ export OMPI_CC=gcc
行 64: 行 91:
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 65: 行 93:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 67: 行 94:
$ export OMPI_CXX=g++
$ mpicxx ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ export OMPI_FC=gfortran
行 69: 行 103:
行 71: 行 104:
$ export OMPI_F77=gfortran
行 74: 行 108:
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト (例)<<BR>>Fortran で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト
行 78: 行 112:
#PBS -q gSrchq
#PBS -o out.openmpi
#PBS -j oe
#PBS -l select=2:ncpus=2
#PBS -l walltime=1:00:00
#PBS -v DOCKER_IMAGE=prg-env:2019.10.02,DOCKER_OPTIONS="--network=overlaynw"
#PBS -N impitest
#PBS -q Eduq
#PBS -l select=1:ncpus=4:mpiprocs=4
行 86: 行 115:
source /etc/profile
module load intel
module load openmpi.intel-4.0.1
ulimit -c 0 # avoid generating core files
.
/etc/profile  # enable module command
module load intel/2025
module load openmpi5.04
行 90: 行 120:
cd ${PBS_O_WORKDIR} cd $PBS_O_WORKDIR
行 92: 行 122:
prog=mpi-ping-openmpi.x
mpicc mpi-ping.c -o $prog
mpirun -np 2 -N 1 -hostfile ${PBS_NODEFILE} hostname
mpirun -np 2 -N 1 -hostfile ${PBS_NODEFILE} ./$prog -B -r 1 1m
mpiifort -fc=ifx test.f90 -o test.x
mpirun -np 4 ./test.x
行 98: 行 126:
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob |ジョブの実行]] を参照して下さい. * ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい.

プログラムのコンパイル

Intel コンパイラ

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

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

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

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

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

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

GNU コンパイラ

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

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

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

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

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

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

AMD コンパイラ (AOCC)

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

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

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

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

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

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

Intel MPI (Intel コンパイラとの組み合わせ)

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

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

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

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

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

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

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

#PBS -q Eduq
#PBS -l select=1:ncpus=4:mpiprocs=4 

ulimit -c 0             # avoid generating core files
. /etc/profile          # enable module command
module load intel/2025
module load intelmpi/2025

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

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

Open MPI

Open MPIを使用する場合は,コンパイラのコマンドを環境変数で指定します.ここではGNUコンパイラの場合を示します. C言語で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.

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

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

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

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

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

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

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

#PBS -q Eduq
#PBS -l select=1:ncpus=4:mpiprocs=4

ulimit -c 0             # avoid generating core files
. /etc/profile          # enable module command
module load intel/2025
module load openmpi5.04

cd $PBS_O_WORKDIR

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

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