サイズ: 4320
コメント:
|
サイズ: 7315
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 2: | 行 2: |
== GNU コンパイラ == 窓口サーバで利用できます. C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. {{{ $ gcc ソースファイル名 -o 出力するプログラム名 }}} C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. {{{ $ g++ ソースファイル名 -o 出力するプログラム名 }}} Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. {{{ $ gfortran ソースファイル名 -o 出力するプログラム名 }}} |
|
行 3: | 行 20: |
C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. | 窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください. {{{ $ module load intel/2025 }}} |
行 5: | 行 25: |
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. | |
行 6: | 行 27: |
$ icx ソースファイル名 -o 出力するプログラム名 | |
行 7: | 行 29: |
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. |
|
行 10: | 行 34: |
{{{ $ icc ソースファイル名 -o 出力するプログラム名 }}} C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. |
|
行 15: | 行 35: |
{{{ }}} {{{ $ icpx ソースファイル名 -o 出力するプログラム名 }}} {{{ $ icc ソースファイル名 -o 出力するプログラム名 }}} Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. {{{ }}} {{{ }}} {{{ }}} {{{ }}} {{{ }}} {{{ }}} {{{ }}} |
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. |
行 41: | 行 38: |
}}} | |
行 42: | 行 40: |
$ ifort ソースファイル名 -o 出力するプログラム名 | == AMD コンパイラ (AOCC) == 窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください. {{{ $ module load aocc/5.0.0 |
行 44: | 行 45: |
== GNU コンパイラ == C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. |
|
行 47: | 行 46: |
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. | |
行 48: | 行 48: |
$ gcc ソースファイル名 -o 出力するプログラム名 | $ clang ソースファイル名 -o 出力するプログラム名 |
行 50: | 行 50: |
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. | |
行 52: | 行 51: |
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. | |
行 53: | 行 53: |
$ g++ ソースファイル名 -o 出力するプログラム名 | $ clang++ ソースファイル名 -o 出力するプログラム名 }}} |
行 55: | 行 56: |
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. {{{ $ flang ソースファイル名 -o 出力するプログラム名 |
|
行 56: | 行 60: |
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. | |
行 58: | 行 61: |
== Intel MPI == 窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください. |
|
行 59: | 行 64: |
$ gfortran ソースファイル名 -o 出力するプログラム名 | $ module load intelmpi/2025 |
行 61: | 行 66: |
== Intel MPI == C/C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. |
|
行 64: | 行 67: |
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. | |
行 67: | 行 71: |
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. | |
行 69: | 行 72: |
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. | |
行 71: | 行 75: |
行 73: | 行 76: |
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. | Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください. |
行 78: | 行 81: |
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト | |
行 80: | 行 82: |
{{{#!/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 |
(例) C で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト {{{ #!/bin/bash #PBS -q Eduq #PBS -l select=1:ncpus=4:mpiprocs=4 |
行 89: | 行 89: |
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 |
行 93: | 行 94: |
cd ${PBS_O_WORKDIR} | cd $PBS_O_WORKDIR mpiicc -cc=icx test.c -o test.x mpirun -np 4 ./test.x |
行 95: | 行 98: |
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 |
|
行 100: | 行 99: |
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい. | == Open MPI == 窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください. {{{ $ module load openmpi5.04 }}} |
行 102: | 行 105: |
== Open MPI == C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. |
Open MPIを使用する場合は,コンパイラのコマンドを環境変数で指定します.ここではGNUコンパイラの場合を示します. C言語で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. |
行 106: | 行 108: |
$ export OMPI_CC=gcc | |
行 108: | 行 111: |
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. | |
行 110: | 行 112: |
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. | |
行 111: | 行 114: |
$ export OMPI_CXX=g++ $ mpicxx ソースファイル名 -o 出力するプログラム名 }}} Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. {{{ $ export OMPI_FC=gfortran |
|
行 114: | 行 124: |
$ export OMPI_F77=gfortran | |
行 116: | 行 127: |
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト | |
行 118: | 行 128: |
{{{#!/bin/bash #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 |
(例) Fortran で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト |
行 127: | 行 131: |
source /etc/profile module load intel module load openmpi.intel-4.0.1 |
{{{ #!/bin/bash #PBS -q Eduq #PBS -l select=1:ncpus=4:mpiprocs=4 |
行 131: | 行 136: |
cd ${PBS_O_WORKDIR} | ulimit -c 0 # avoid generating core files . /etc/profile # enable module command module load intel/2025 module load openmpi5.04 |
行 133: | 行 141: |
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 |
cd $PBS_O_WORKDIR mpiifort -fc=ifx test.f90 -o test.x |
行 138: | 行 146: |
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい. | == ROCm環境のコンパイル == 計算サーバのAMD GPUを利用するためのコンパイルコマンドです. 事前にインタラクティブジョブにより計算サーバに移動してください. {{{ $ qsub -I -q Eduq -l select=1:ncpus=1:ngpus=1 -v SINGULARITY_IMAGE=/common/Singularity_sif/prg_env_amd_2025.01.sif }}} C言語もしくはC++で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. {{{ $ hipcc -I/opt/rocm/include -D__HIP_PLATFORM_AMD__ ソースファイル名 -o 出力するプログラム名 }}} * インタラクティブジョブの詳細については,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい. == CUDAを利用する場合のコンパイル == CUDAによりIoT・AI基盤システムのNVIDIA GPUを利用するためのコンパイルコマンドです. 事前にインタラクティブジョブによりIoT・AI基盤システムの計算サーバに移動してください. {{{ $ qsub -I -q iEduq -l select=1:ncpus=1:ngpus=1 -v SINGULARITY_IMAGE=/common/Singularity_sif/prg_env_intel_2025.01.sif }}} C言語で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. {{{ $ nvcc -ccbin gcc -I/usr/include ソースファイル名 -o 出力するプログラム名 }}} C++で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. {{{ $ nvcc -ccbin g++ -I/usr/include ソースファイル名 -o 出力するプログラム名 }}} Fortranで記述されたプログラムをコンパイルするには,以下のコマンドを実行してください. {{{ $ nvfortran -I/usr/include ソースファイル名 -o 出力するプログラム名 }}} * インタラクティブジョブの詳細については,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob|ジョブの実行]] を参照して下さい. |
プログラムのコンパイル
GNU コンパイラ
窓口サーバで利用できます. C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ gcc ソースファイル名 -o 出力するプログラム名
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ g++ ソースファイル名 -o 出力するプログラム名
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ gfortran ソースファイル名 -o 出力するプログラム名
Intel コンパイラ
窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
$ module load intel/2025
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ icx ソースファイル名 -o 出力するプログラム名
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ icpx ソースファイル名 -o 出力するプログラム名
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ ifx ソースファイル名 -o 出力するプログラム名
AMD コンパイラ (AOCC)
窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
$ module load aocc/5.0.0
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ clang ソースファイル名 -o 出力するプログラム名
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ clang++ ソースファイル名 -o 出力するプログラム名
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
$ flang ソースファイル名 -o 出力するプログラム名
Intel MPI
窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
$ module load intelmpi/2025
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
窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
$ module load openmpi5.04
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
ROCm環境のコンパイル
計算サーバのAMD GPUを利用するためのコンパイルコマンドです. 事前にインタラクティブジョブにより計算サーバに移動してください.
$ qsub -I -q Eduq -l select=1:ncpus=1:ngpus=1 -v SINGULARITY_IMAGE=/common/Singularity_sif/prg_env_amd_2025.01.sif
C言語もしくはC++で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
$ hipcc -I/opt/rocm/include -D__HIP_PLATFORM_AMD__ ソースファイル名 -o 出力するプログラム名
* インタラクティブジョブの詳細については,ジョブの実行 を参照して下さい.
CUDAを利用する場合のコンパイル
CUDAによりIoT・AI基盤システムのNVIDIA GPUを利用するためのコンパイルコマンドです. 事前にインタラクティブジョブによりIoT・AI基盤システムの計算サーバに移動してください.
$ qsub -I -q iEduq -l select=1:ncpus=1:ngpus=1 -v SINGULARITY_IMAGE=/common/Singularity_sif/prg_env_intel_2025.01.sif
C言語で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
$ nvcc -ccbin gcc -I/usr/include ソースファイル名 -o 出力するプログラム名
C++で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
$ nvcc -ccbin g++ -I/usr/include ソースファイル名 -o 出力するプログラム名
Fortranで記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
$ nvfortran -I/usr/include ソースファイル名 -o 出力するプログラム名
* インタラクティブジョブの詳細については,ジョブの実行 を参照して下さい.