Makefile.confでの設定項目
付録
Makefile.confの変数一覧
MPIに関する設定
MPI対応コンパイラーが自動参照している場合は、MPIに関する設定は不要である。
変数名 |
説明 |
既定値 |
MPIDIR |
MPIがインストールされているディレクトリのパスを指定する |
なし |
MPIBINDIR |
MPIの実行ファイル群がインストールされているディレクトリのパスを指定する |
なし |
MPIINCDIR |
MPIのヘッダーファイル群がインストールされているディレクトリのパスを指定する |
. |
MPILIBDIR |
MPIのライブラリ群がインストールされているディレクトリのパスを指定する |
. |
MPILIBS |
CおよびFortran90のオブジェクトファイルにリンクさせるMPIライブラリを指定する |
なし |
インストールディレクトリに関する設定
変数名 |
説明 |
既定値 |
PREFIX |
本ソフトウェアをインストールするディレクトリのパスを指定する |
$(HOME)/FrontISTR |
BINDIR |
本ソフトウェアの実行ファイル群をインストールするディレクトリのパスを指定する |
$(PREFIX)/bin |
INCLUDEDIR |
本ソフトウェアのヘッダーファイル群をインストールするディレクトリのパスを指定する |
$(PREFIX)/include |
LIBDIR |
本ソフトウェアのライブラリ群をインストールするディレクトリのパスを指定する |
$(PREFIX)/lib |
METISに関する設定
変数名 |
説明 |
既定値 |
METISDIR |
METISがインストールされているディレクトリのパスを指定する |
$(HOME)/metis |
METISINCDIR |
METISのヘッダーファイル群(metis.hなど)がインストールされているディレクトリのパスを指定する |
$(METISDIR)/include |
METISLIBDIR |
METISのライブラリ(libmetis.a)がインストールされているディレクトリのパスを指定する |
$(METISDIR)/lib |
REVOCAP_Refinerに関する設定
変数名 |
説明 |
既定値 |
REFINERDIR |
REVOCAP_Refinerがインストールされているディレクトリのパスを指定する |
$(HOME)/REVOCAP_Refiner |
REFINERINCDIR |
REVOCAP_Refinerのヘッダーファイル群がインストールされているディレクトリのパスを指定する |
$(REFINERDIR)/include |
REFINERLIBDIR |
REVOCAP_Refinerのライブラリ群がインストールされているディレクトリのパスを指定する |
$(REFINERDIR)/lib |
REVOCAP_Couplerに関する設定
変数名 |
説明 |
既定値 |
REVOCAPDIR |
REVOCAP_Couplerがインストールされているディレクトリのパスを指定する |
$(HOME)/REVOCAP_Coupler |
REVOCAPINCDIR |
REVOCAP_Couplerのヘッダーファイル群がインストールされているディレクトリのパスを指定する |
$(REVOCAPDIR)/include |
REVOCAPLIBDIR |
REVOCAP_Couplerのライブラリ群がインストールされているディレクトリのパスを指定する |
$(REVOCAPDIR)/lib |
MUMPSに関する設定
変数名 |
説明 |
既定値 |
MUMPSDIR |
MUMPSがインストールされているディレクトリのパスを指定する |
$(HOME)/MUMPS |
MUMPSINCDIR |
MUMPSのヘッダーファイル群がインストールされているディレクトリのパスを指定する |
$(MUMPSDIR)/include |
MUMPSLIBDIR |
MUMPSのライブラリ群がインストールされているディレクトリのパスを指定する |
$(MUMPSDIR)/lib |
MLに関する設定
変数名 |
説明 |
既定値 |
MLDIR |
MLがインストールされているディレクトリのパスを指定する |
$(HOME)/trilinos |
MLINCDIR |
MLのヘッダーファイル群がインストールされているディレクトリのパスを指定する |
$(MLDIR)/include |
MLLIBDIR |
MLのライブラリ群がインストールされているディレクトリのパスを指定する |
$(MLDIR)/lib |
Cコンパイラーに関する設定
変数名 |
説明 |
既定値 |
CC |
Cコンパイラーの起動コマンドを指定する |
mpicc |
CFLAGS |
Cコンパイラーに付与するオプションを指定する |
なし |
LDFLAGS |
Cリンカーに付与するオプションを指定する。REVOCAP_Refinerを使用する場合で、CプログラムのリンクにCコンパイラーを用いる場合には、C++の標準ライブラリ(-lstdc++など)を指定する必要がある。 |
-lm |
OPTFLAGS |
Cコンパイラーに付与する最適化オプションなどを指定する |
-O3 |
CLINKER |
Cプログラムのリンク時に用いるコマンドを指定する。REVOCAP_Refinerを使用する場合で、CプログラムのリンクにC++コンパイラーを用いる必要がある場合などに指定する。 |
$(CC) |
C++コンパイラーに関する設定
変数名 |
説明 |
既定値 |
CPP |
C++コンパイラーの起動コマンドを指定する |
mpic++ |
CPPFLAGS |
C++コンパイラーに付与するオプションを指定する。BoostライブラリがC++コンパイラーから自動参照されない場合、-Iオプションにより、インクルードファイルが格納されているディレクトリを指定する。 |
-DMPICH_IGNORE_CXX_SEEK |
CPPLDFLAGS |
C++リンカーに付与するオプションを指定する |
なし |
CPPOPTFLAGS |
C++コンパイラーに付与する最適化オプションなどを指定する |
-O3 |
Fortran90コンパイラーに関する設定
変数名 |
説明 |
既定値 |
F90 |
Fortran90コンパイラーの起動コマンドを指定する |
mpif90 |
F90FLAGS |
Fortran90コンパイラーに付与するオプションを指定する |
-DMPICH_IGNORE_CXX_SEEK |
F90LDFLAGS |
Fortran90リンカーに付与するオプションを指定する。Intel MKLを利用する場合には、そのリンクオプションを指定する。また、REVOCAP_Refinerを使用する場合で、Fortran90プログラムのリンクにFortran90コンパイラーを用いる場合には、C++の標準ライブラリ(-lstdc++など)を指定する必要がある。 |
なし |
F90OPTFLAGS |
Fortran90コンパイラーに付与する最適化オプションなどを指定する |
-O2 |
F90LINKER |
Fortran90プログラムのリンク時に用いるコマンドを指定する。REVOCAP_Refinerを使用する場合で、Fortran90プログラムのリンクにC++コンパイラーを用いる必要がある場合などに指定する(京コンピュータでは“mpiFCCpx --linkfortran” を指定する)。 |
$(F90) |
UNIXコマンドに関する設定
変数名 |
説明 |
既定値 |
MAKE |
makeの起動コマンドを指定する。オプションが必要な場合は同時に指定する。 |
make |
AR |
アーカイブの作成、変更などを行うコマンドを指定する。オプションが必要な場合は同時に指定する。 |
ar ruv |
CP |
ファイルやディレクトリをコピーするコマンドを指定する。オプションが必要な場合は同時に指定する。 |
cp -f |
RM |
ファイルやディレクトリを削除するコマンドを指定する。オプションが必要な場合は同時に指定する。 |
rm -f |
MKDIR |
ディレクトリを作成するコマンドを指定する。オプションが必要な場合は同時に指定する。 |
mkdir -p |
MV |
ファイルを移動するコマンドを指定する。オプションが必要な場合は同時に指定する。 |
mv |
Makefile.confの設定例
# MPI
MPIDIR =
MPIBINDIR =
MPILIBDIR =
MPIINCDIR =
MPILIBS =
# for install option only
PREFIX = $(HOME)/FrontISTR
BINDIR = $(PREFIX)/bin
LIBDIR = $(PREFIX)/lib
INCLUDEDIR = $(PREFIX)/include
# Metis
METISDIR = $(HOME)/Metis-4.0
METISLIBDIR = $(METISDIR)
METISINCDIR = $(METISDIR)/Lib
# Refiner
REFINERDIR = $(HOME)/REVOCAP_Refiner-1.1.0
REFINERINCDIR = $(REFINERDIR)/Refiner
REFINERLIBDIR = $(REFINERDIR)/lib/x86_64-linux
# Coupler
REVOCAPDIR = $(HOME)/REVOCAP_Coupler-1.6.2
REVOCAPINCDIR = $(REVOCAPDIR)/librcap
REVOCAPLIBDIR = $(REVOCAPDIR)/librcap
# MUMPS
MUMPSDIR = $(HOME)/MUMPS_4.10.0
MUMPSINCDIR = $(MUMPSDIR)/include
MUMPSLIBDIR = $(MUMPSDIR)/lib
# ML
MLDIR = $(HOME)/trilinos/11.8.1/ml
MLINCDIR = $(MLDIR)/include
MLLIBDIR = $(MLDIR)/lib
# C compiler settings
CC = mpiicc
CFLAGS =
LDFLAGS = -lm
OPTFLAGS = -O3
CLINKER = mpiicc
# C++ compiler settings
CPP = mpiicpc
CPPFLAGS = -DMPICH_IGNORE_CXX_SEEK -I$(HOME)/include
CPPLDFLAGS =
CPPOPTFLAGS = -O3
# Fortran compiler settings
F90 = mpiifort
F90FLAGS =
F90LDFLAGS = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5
F90OPTFLAGS = -O2
F90LINKER = mpiifort
京コンピュータおよび富士通FX10における注意
本バージョンでは、京コンピュータおよび富士通FX10向けのチューニングが行われていますが、これに伴い、利用する環境に応じてソースコードの一部を変更する必要があります。
変更するファイル:
hecmw1/src/solver/solver_33/hecmw_tuning_fx.f90
変更内容:
ファイル内で定義されているパラーメータ変数 TotalSectorCacheSize を
に設定する。
なお、初期状態では京コンピュータ向けの設定となっています。