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

 

ページ名: "HowToCompile"の差分
8と20のリビジョン間の差分 (その間の編集: 12回)
2019-09-19 04:08:27時点のリビジョン8
サイズ: 3535
編集者: hitachi28
コメント:
2024-05-02 05:58:54時点のリビジョン20
サイズ: 4374
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ icpx ソースファイル名 -o 出力するプログラム名
}}}
行 7: 行 11:
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
行 8: 行 13:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. {{{
$ icpx ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ icc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.

{{{
$ ifx ソースファイル名 -o 出力するプログラム名
}}}
行 12: 行 27:
== GNU コンパイラ ==
C で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 13: 行 30:
== PGI コンパイラ(準備中) ==
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ pgcc ソースファイル名 -o 出力するプログラム名
}}}

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

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

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

Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 39: 行 43:
== Intel MPI ==
C で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 40: 行 46:
== Intel MPI ==
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 43: 行 47:
$ mpiicc ソースファイル名 -o 出力するプログラム名 $ mpiicc -cc=icx ソースファイル名 -o 出力するプログラム名
行 45: 行 49:
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 46: 行 51:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 48: 行 52:
$ mpiifort ソースファイル名 -o 出力するプログラム名 $ mpiicpc -cxx=icpx ソースファイル名 -o 出力するプログラム名
行 50: 行 54:
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 52: 行 57:
$ mpiifort -fc=ifx ソースファイル名 -o 出力するプログラム名
}}}
(例)<<BR>>C で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト
行 53: 行 61:
### sample
#!/bin/sh
#PBS -q gSrchq
#PBS -l select=1:ncpus=4:host=xsnd01
#PBS -v DOCKER_IMAGE=prg-env:2019.08
{{{
#!/bin/bash
#PBS -q wEduq
#PBS -l select=1:ncpus=4:mpiprocs=4
#PBS -v DOCKER_IMAGE=mpi-env:latest,DOCKER_OPTIONS="--network=overlaynw"
行 59: 行 67:
source /etc/profile

module load intel
module load intelmpi.intel-4.0.1
ulimit -c 0 # avoid generating core files
source /etc/profile # enable mocule 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
行 66: 行 75:
mpiifort sample.f -o sample.out mpiicc -cc=icx test.c -o test.x
mpirun -np 4 ./test.x
}}}
行 68: 行 79:
}}}
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob |ジョブの実行]] を参照して下さい.
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい.
行 72: 行 82:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 76: 行 87:
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 77: 行 89:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. {{{
$ mpicpc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 81: 行 97:
行 85: 行 100:

(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト
(例)<<BR>>Fortran で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト
行 89: 行 103:
### sample
#!/bin/sh
#PBS -q gSrchq
#PBS -l select=1:ncpus=4:host=xsnd01
#PBS -v DOCKER_IMAGE=prg-env:2019.08
#!/bin/bash
#PBS -q wEduq
#PBS -l select=1:ncpus=4:mpiprocs=4
#PBS -v DOCKER_IMAGE=mpi-env:latest,DOCKER_OPTIONS="--network=overlaynw"
行 96: 行 109:
行 102: 行 114:
mpif90 sample.f -o sample.out mpiif90 test.f90 -o test.x
mpirun -np 4 ./test.x
行 105: 行 118:
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob |ジョブの実行]] を参照して下さい. * ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい.

プログラムのコンパイル

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 mocule 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"

source /etc/profile
module load intel
module load openmpi.intel-4.0.1

cd $PBS_O_WORKDIR

mpiif90 test.f90 -o test.x
mpirun -np 4 ./test.x

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