• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..02-Apr-2020-

include/H07-May-2022-

lib/H07-May-2022-

src/H02-Apr-2020-68,30656,095

COPYRIGHTH A D02-Apr-202036.8 KiB725593

LICENSEH A D02-Apr-20201.3 KiB2319

READMEH A D02-Apr-20202.2 KiB6250

qd-2.3.17-for-LLVM.patchH A D02-Apr-20202.6 KiB10592

README

1** dissection solver Ver 1.0.0  : written in C++ with qd libiray or **
2**                                                   GNU __float128 **
3** Atsushi Suzuki, 25 Jun. 2015
4**                 30 Nov. 2016
5
6How to compile:
7
8- directory structure needs to be the follownig.
9  include/ lib/ src/ are needed to be the same place called as $(PROJ_DIR)
10
11- copy src/Defs.inc.Intel to src/Defs.inc
12- copy src/Makfile.Intel to src/Makefile
13
14- src/Defs.inc contains definition of the place of header files
15    METIS_INC = $(PROJ_DIR)/metis-5.1.0/include
16    SCOTCH_INC = $(PROJ_DIR)/scotch_6.0.4/include
17    QD_INC = $(PROJ_DIR)/include
18  and libraries
19    METIS_DIR =  $(PROJ_DIR)/metis-5.0.2/build/Darwin-x86_64/libmetis
20    LIB_DIR_SCOTCH = $(PROJ_DIR)/scotch_6.0.4/lib
21    LIB_DIR_QD =  $(PROJ_DIR)/qd-2.3.17/lib
22
23- to use intel MKL specify BLAS in Def.inc
24    BLAS = MKL
25  On the MacOSX (Mavericks or Yosemite),
26    BLAS = VECLIB
27  attains 90 % of the speed of MKL. For preparation to use vecLib
28  framework, command line Xcode needs to be installed by
29  % xcode-select --install
30
31
32- qd library needs to be compiled with patches to handle complex class of
33  LLVM clang++.
34  qd-2.3.17.tar.gz will be obtained from
35  http://crd-legacy.lbl.gov/~dhbailey/mpdist/qd-2.3.17.tar.gz
36  to extract tar ball and apply patches
37  % tar xvzf qd-2.3.17.tar.gz
38  % cd qd-2.3.17
39  % patch -p1 < qd-2.3.17-for-LLVM.patch
40  configure needs to be done with specifying install directory $(PROJ_DIR)
41  % ./configure --prefix=$(PROJ_DIR) CXX=clang++ CC=clang
42  % make install
43
44- to clean directories under $(PROJ_DIR)/src,
45  % make distclean
46  % make distclean
47
48- to build $(PROJ_DIR)/libDissection.dyld, in $(PROJ_DIR)/src
49  % make
50
51- a test program is located in $(PROJ_DIR)/src/C-test
52  % make
53  % ./MM-Dissection ../MM-matrix/MM.testA.data 0 1 1.e-2 8 2
54  the first argument specifies 0 for SCOTCH and 1 for METIS
55  the second specifies number of threads, which should be less or equal to
56  number of the physical CPU cores
57  the third specifies pivot threshold
58  the fourth specifies number of level of dissection
59  the fifth specifies scaling strategy : 0 for no-scaling, 1 for diagonal
60                                         2 for scaling for KKT-type matrix
61
62