下载
下载链接:https://seiscope2.obs.ujf-grenoble.fr/TOY2DAC,82
编译
将下载的软件解压后,进入doc/
目录下,查看manual文档进行编译。
依赖包安装
安装TOY2DAC需要MUMPS来进行大型稀疏矩阵的LU分解,而MUMPS又要安装METIS或者SCOTCH,同时,编译MUMPS来依赖 SCALAPACK, BLACKS, LAPACK 三个依赖库文件,好在这些都在Intel的MKL库中集成,因此实际上只需要安装Intel编译器,MPI,METIS,MUMPS。这几个软件的安装可参考如下链接:
修改Makefile.inc
安装完上述依赖包后,进入src/
,找到Makefile.inc
文件并编辑该文件,需要修改上述库文件的LIB
和INC
为其安装目录。原文件需要改动的地方不多。笔者主要修改了如下几处:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#ROOT DIR OF MUMPS/METIS
LADIR = ~/software
#ROOT DIR OF TOOL BOX
LTOOLS_BOX = ~/software/TOOLBOX_OPTIMIZATION
#MUMPS LIB AND INC
LMUMPS = -L$(LADIR)/MUMPS_5.1.1/lib -lcmumps -lmumps_common
IMUMPS = -I$(LADIR)/MUMPS_5.1.1/include
#PORD LIB (INSIDE MUMPS)
LPORDDIR = $(LADIR)/MUMPS_5.1.1/PORD/lib/
LPORD = -L$(LPORDDIR) -lpord
#METIS LIB
LMETISDIR = $(LADIR)/metis/lib
LMETIS = -L$(LMETISDIR) -lmetis
#TOOL BOX LIB AND INC
LOPTIM = -L $(LTOOLS_BOX)/lib -lSEISCOPE_OPTIM
IOPTIM = -I $(LTOOLS_BOX)/COMMON/include
#WE GATHER EVERYTHINGS
LIBPAR = $(LMUMPS) $(LPORD) $(LOPTIM) $(LMETIS) $(LMKL)
INCPAR = $(IMUMPS) $(IPORD) $(IOPTIM) -I../include
INC = $(INCPAR)
LIB = $(LIBPAR)
|
Compilation
在src/
目录下,运行 make
,便完成整个编译过程