11と21のリビジョン間の差分 (その間の編集: 10回)
サイズ: 3458
コメント:
|
サイズ: 4602
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 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: |
== GNU コンパイラ == C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. |
|
行 18: | 行 33: |
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい. | |
行 19: | 行 35: |
== Fortran コンパイラ == Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. |
{{{ $ g++ ソースファイル名 -o 出力するプログラム名 }}} Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい. |
行 24: | 行 43: |
== Intel MPI == C で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい. |
|
行 25: | 行 46: |
== Intel MPI == C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. |
|
行 28: | 行 47: |
$ mpiicc ソースファイル名 -o 出力するプログラム名 | $ mpiicc -cc=icx ソースファイル名 -o 出力するプログラム名 }}} C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい. {{{ $ mpiicpc -cxx=icpx ソースファイル名 -o 出力するプログラム名 }}} Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい. {{{ $ mpiifort -fc=ifx ソースファイル名 -o 出力するプログラム名 }}} (例)<<BR>>C で記述された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 . /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 |
行 31: | 行 79: |
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. {{{ $ mpiifort ソースファイル名 -o 出力するプログラム名 }}} (例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト {{{ #!/bin/bash #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 source /etc/profile module load intel module load intelmpi.intel cd ${PBS_O_WORKDIR} 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: | 行 82: |
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. | C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. |
行 64: | 行 87: |
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. | |
行 65: | 行 89: |
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. | {{{ $ mpicpc ソースファイル名 -o 出力するプログラム名 }}} Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. |
行 69: | 行 97: |
行 73: | 行 100: |
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト |
(例)<<BR>>Fortran で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト |
行 78: | 行 104: |
#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 wEduq #PBS -l select=1:ncpus=4:mpiprocs=4 #PBS -v DOCKER_IMAGE=mpi-env:latest,DOCKER_OPTIONS="--network=overlaynw" |
行 86: | 行 108: |
source /etc/profile module load intel module load openmpi.intel-4.0.1 |
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 |
行 90: | 行 114: |
cd ${PBS_O_WORKDIR} | cd $PBS_O_WORKDIR |
行 92: | 行 116: |
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: | 行 120: |
* ジョブの投入方法は,[[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 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
* ジョブの投入方法は,ジョブの実行 を参照して下さい.