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

 

ページ名: "HowToCompile"の差分
7と33のリビジョン間の差分 (その間の編集: 26回)
2019-09-18 06:20:45時点のリビジョン7
サイズ: 3523
編集者: hitachi28
コメント:
2025-06-10 00:12:53時点のリビジョン33
サイズ: 6391
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 2: 行 2:
== Intel コンパイラ ==
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ icc ソースファイル名 -o 出力するプログラム名
}}}

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

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

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

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

== GNU コンパイラ ==
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
== GNU コンパイラ (GCC) ==
窓口サーバで利用できます.
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
行 34: 行 9:
== Fortran コンパイラ ==
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい.
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
{{{
$ g++ ソースファイル名 -o 出力するプログラム名
}}}

Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
行 40: 行 19:
== Intel MPI ==
C/C++ 記述された計算プログラムをコンパイルする以下のコマンドを実行してさい.
== Intel コンパイラ ==
窓口サーバ利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
行 43: 行 22:
$ mpiicc ソースファイル名 -o 出力するプログラム名 $ module load intel/2025
行 46: 行 25:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行してさい. C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
行 48: 行 27:
$ mpiifort ソースファイル名 -o 出力するプログラム名 $ icx ソースファイル名 -o 出力するプログラム名
行 50: 行 29:
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
行 52: 行 32:
$ icpx ソースファイル名 -o 出力するプログラム名
}}}
行 53: 行 35:
### sample
#!/bin/sh
#PBS -q gSrchq
#PBS -l select=1:ncpus=4:host=xsnd01
#PBS -v DOCKER_IMAGE=prg-env:2019.08
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
{{{
$ ifx ソースファイル名 -o 出力するプログラム名
}}}
行 59: 行 40:
source /etc/profile == AMD コンパイラ (AOCC) ==
窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
{{{
$ module load aocc/5.0.0
}}}
行 61: 行 46:
module load intel
module load intelmpi.intel
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
{{{
$ clang ソースファイル名 -o 出力するプログラム名
}}}
行 64: 行 51:
cd $PBS_O_WORKDIR C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
{{{
$ clang++ ソースファイル名 -o 出力するプログラム名
}}}
行 66: 行 56:
mpiifort sample.f -o sample.out Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
{{{
$ flang ソースファイル名 -o 出力するプログラム名
}}}
行 68: 行 61:
== Intel MPI ==
窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
{{{
$ module load intelmpi/2025
行 69: 行 66:
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob |ジョブの実行]] を参照して下さい.
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
{{{
$ mpiicc -cc=icx ソースファイル名 -o 出力するプログラム名
}}}

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

{{{
$ mpiifort -fc=ifx ソースファイル名 -o 出力するプログラム名
}}}
行 72: 行 83:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. 窓口サーバで利用できます.コンパイルを行う前に,moduleコマンドを実行してください.
行 74: 行 85:
$ module load openmpi5.04
}}}

Open MPIを使用する場合は,コンパイラのコマンドを環境変数で指定します.ここではGNUコンパイラの場合を示します.
C言語で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
{{{
$ export OMPI_CC=gcc
行 77: 行 95:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行してさい. C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
行 79: 行 97:
$ export OMPI_CXX=g++
$ mpicxx ソースファイル名 -o 出力するプログラム名
}}}

Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
{{{
$ export OMPI_FC=gfortran
行 81: 行 106:
行 83: 行 107:
$ export OMPI_F77=gfortran
行 86: 行 111:
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト
== ROCm環境のコンパイル ==
計算サーバのAMD GPUを利用するためのコンパイルコマンドです.
事前にインタラクティブジョブにより計算サーバに移動してください.
行 89: 行 115:
### sample
#!/bin/sh
#PBS -q gSrchq
#PBS -l select=1:ncpus=4:host=xsnd01
#PBS -v DOCKER_IMAGE=prg-env:2019.08

source /etc/profile

module load intel
module load openmpi.intel

cd $PBS_O_WORKDIR

mpif90 sample.f -o sample.out
$ qsub -I -q Eduq -l select=1:ncpus=1:ngpus=1 -v SINGULARITY_IMAGE=/common/Singularity_sif/prg_env_amd_2025.01.sif
行 105: 行 118:
* ジョブの投入方法は,[[https://hpcportal.imc.tut.ac.jp/wiki/HowToSubmitJob |ジョブの実行]] を参照して下さい. 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 コンパイラ (GCC)

窓口サーバで利用できます. 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 出力するプログラム名

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 出力するプログラム名

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 出力するプログラム名

* インタラクティブジョブの詳細については,ジョブの実行 を参照して下さい.