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

 

ページ名: "HowToCompile"の差分
4と13のリビジョン間の差分 (その間の編集: 9回)
2019-08-29 06:26:13時点のリビジョン4
サイズ: 2444
編集者: hitachi28
コメント:
2024-01-23 01:55:03時点のリビジョン13
サイズ: 4320
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 5: 行 5:
{{{
}}}
{{{
$ icpx ソースファイル名 -o 出力するプログラム名
}}}
行 8: 行 13:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行してさい. C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行してください.
行 11: 行 16:
}}}
{{{
$ icpx ソースファイル名 -o 出力するプログラム名
}}}
{{{
$ icc ソースファイル名 -o 出力するプログラム名
}}}
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.

{{{
}}}
{{{
}}}
{{{
}}}
{{{
}}}
{{{
}}}
{{{
}}}
{{{
}}}
{{{
$ ifx ソースファイル名 -o 出力するプログラム名
行 13: 行 44:

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

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

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

}}}

Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 42: 行 61:
行 44: 行 62:
C/C++ で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C/C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 47: 行 65:
$ mpiicc ソースファイル名 -o 出力するプログラム名 $ mpiicc -cc=icx ソースファイル名 -o 出力するプログラム名
行 49: 行 67:
Fortran で記述された計算プログラムをコンパイルするには,以下のコマンドを実行して下さい. C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 52: 行 70:
$ mpiifort ソースファイル名 -o 出力するプログラム名 $ mpiicpc -cxx=icpx ソースファイル名 -o 出力するプログラム名
行 54: 行 73:
Fortran で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.
行 55: 行 75:
== OpenMPI == {{{
$ mpiifort -fc=ifx ソースファイル名 -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|ジョブの実行]] を参照して下さい.

== Open MPI ==
行 69: 行 116:
(例)<<BR>>Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト

{{{#!/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

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

cd ${PBS_O_WORKDIR}

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
}}}
* ジョブの投入方法は,[[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/C++ で記述されたプログラムをコンパイルするには,以下のコマンドを実行して下さい.

$ mpiicc -cc=icx ソースファイル名 -o 出力するプログラム名

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

$ mpiicpc -cxx=icpx ソースファイル名 -o 出力するプログラム名

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

$ mpiifort -fc=ifx ソースファイル名 -o 出力するプログラム名

(例)
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 }}} * ジョブの投入方法は,ジョブの実行 を参照して下さい.

Open MPI

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

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

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

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

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

(例)
Fortran で記述された計算プログラムをバッチジョブとしてコンパイルする場合の実行スクリプト

{{{#!/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

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

cd ${PBS_O_WORKDIR}

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 }}} * ジョブの投入方法は,ジョブの実行 を参照して下さい.