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

 

ページ名: "HowToCompile"の差分
18と26のリビジョン間の差分 (その間の編集: 8回)
2024-01-23 02:31:17時点のリビジョン18
サイズ: 4131
編集者: yi041
コメント:
2025-06-09 02:58:08時点のリビジョン26
サイズ: 5238
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ icx ソースファイル名 -o 出力するプログラム名
}}}
行 5: 行 8:
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行してください.
行 8: 行 12:
{{{
$ icc ソースファイル名 -o 出力するプログラム名
}}}
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
行 13: 行 13:
{{{
$ icpx ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ icc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 24: 行 17:
{{{
$ ifort ソースファイル名 -o 出力するプログラム名
}}}
行 28: 行 19:
C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 33: 行 23:
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 35: 行 24:
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 38: 行 28:
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 40: 行 29:
Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 43: 行 33:
== Intel MPI ==
C/C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 46: 行 34:
== AMD コンパイラ (AOCC) ==
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ clang ソースファイル名 -o 出力するプログラム名
}}}

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

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

== Intel MPI (Intel コンパイラとの組み合わせ) ==
C言語で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 49: 行 55:
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 51: 行 56:
C++ で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 54: 行 60:
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい. Fortran で記述されたソースコードをコンパイルするには,以下のコマンドを実行して下さい.
行 59: 行 65:
(例)<<BR>>C で記述されたMPI並列計算プログラムをバッチジョブとしてコンパイルし,4プロセス並列で実行する場合のジョブスクリプト
行 61: 行 66:
== Open MPI ==
Open MPIを使用する場合は,コンパイラのコマンドを環境変数で指定します.ここではGNUコンパイラの場合を示します.
C言語で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 62: 行 70:
#!/bin/bash
#PBS -q wEduq
#PBS -l select=1:ncpus=4:mpiprocs=4
#PBS -v DOCKER_IMAGE=mpi-env:latest,DOCKER_OPTIONS="--network=overlaynw"
$ export OMPI_CC=gcc
$ mpicc ソースファイル名 -o 出力するプログラム名
}}}
行 67: 行 74:
source /etc/profile
source /common/intel-2022/setvars.sh &> /dev/null
C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ export OMPI_CXX=g++
$ mpicxx ソースファイル名 -o 出力するプログラム名
}}}
行 70: 行 80:
cd $PBS_O_WORKDIR Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ export OMPI_FC=gfortran
$ mpif90 ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ export OMPI_F77=gfortran
$ mpif77 ソースファイル名 -o 出力するプログラム名
}}}
行 72: 行 90:
mpiicc -cc=icx test.c -o test.x
mpirun -np 4 ./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 出力するプログラム名
}}}

== NVIDIA HPCコンパイラ ==
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 出力するプログラム名
}}}

Fortranで記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
{{{
$ nvfortran -I/usr/include ソースファイル名 -o 出力するプログラム名
行 77: 行 120:

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

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

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

{{{
$ mpif90 ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ mpif77 ソースファイル名 -o 出力するプログラム名
}}}
(例)<<BR>>Fortran で記述された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"

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
}}}

* ジョブの投入方法は,[[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 出力するプログラム名

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

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

NVIDIA HPCコンパイラ

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

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

$ nvfortran -I/usr/include ソースファイル名 -o 出力するプログラム名

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