-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
141 lines (100 loc) · 5.74 KB
/
README
File metadata and controls
141 lines (100 loc) · 5.74 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
##ADOL-C 2.5.2 with LivarH.
When to use LivarH, include "adolc/hessian/edge_main.h" in the header file.
Then after tracing the objective function using ADOL-C trace_on()/trace_off(),
call the following function to evaluate the Hessian using LivarH.
For more information, refer to "src/hessian/edge_main.cpp".
int edge_hess(
short tag, /* tape identification */
int dep, /* consistency chk on # of dependents */
int indep, /* number of independent variables */
const double *basepoint, /* independant variable values */
int *nnz, /* number of nonzeros */
unsigned int **rind, /* row index */
unsigned int **cind, /* column index */
double **values, /* non-zero values */
int *options /* control options */
/* options[0] = 0 (Default) LivarH */
/* = 1 LivarHAcc (preaccumulation) */
/* options[1] = 0 Deprecated */
);
##A Simple installation guide (GNU toolchain required):
1. Installing ColPack
1.1: Download ColPack from https://github.com/CSCsw/ColPack, and go to the directory.
1.2: Run "autoreconf --install"
1.3: Run "automake"
1.4: Configure the ColPack with "./configure --prefix=$ColPackHome", where "$ColPackHome" is the directory you want to put ColPack at.
1.5: Run "make;make install"
2. Install ADOL-C with LivarH (Requires ColPack)
2.1: Download ADOL-C from https://github.com/CSCsw/LivarH, and go to the directory.
2.2: Run "autoreconf --install"
2.3: Run "automake"
2.4: Configure the ADOL-C with "./configure --prefix=$ADOLCHOME --enable-sparse --with-colpack=$ColPackHOME --enable-addexa"
2.5: Run "make;make install"
2.6: Check your installation: go to "./ADOL-C/examples/additional_examples/sparse", check if "sparse_jacobian" and "sparse_hessian" are functional.
2.7: Note: computation hessian with preaccumulation is disabled with this configure.
3. Install ADOL-C with LivarHAcc enabled
3.1 - 3.3: Same as 2.1 - 2.3
3.4: Configure the ADOL-C with "./configure --prefix=$PREACCHOME --enable-preacc"
3.5: Run "make;make install"
3.6: Note: In 3.4, when configure preacc, there will be a warning message indicating that computing Hessian via preaccumulation with "asin/acos/atan/asinh/acosh/atanh" might give incorrect.
## ADOL-C (Native ADOL-C README)
This new version of ADOL-C features new library functions for
- sparse Jacobians and sparse Hessians
- external differentiated functions
- optimal checkpointing
- adapted differentiation of fixed point iterations
- parallel differentiation of OpenMP-parallel loops
and many bug fixes.
Furthermore the source code was adapted to allow a compilation with
WINDOWS compilers. See file "INSTALL" for generic installation
instructions and special instructions for the installation on a WINDOWS
platform.
The complete documentation can be found in the subdirectory "doc".
LOCAL INSTALLATION
==================
1. Run configure with possibly using one of these options:
--prefix=PREFIX install library and header files in PREFIX
(default: ${HOME}/adolc_base)
--enable-sparse build sparse drivers [default=no]
--with-openmp-flag=FLAG use FLAG to enable OpenMP at compile time
[default=none]
--enable-docexa build documented examples [default=no]
--enable-addexa build additional examples [default=no]
--enable-parexa build parallel example [default=no], if yes
-with-openmp-flag=FLAG required
--with-cflags=FLAGS use CFLAGS=FLAGS (default: -O3 -Wall -ansi)
--with-cxxflags=FLAGS use CXXFLAGS=FLAGS (default: -O3 -Wall)
2. Type make
3. Type make install
By default, `make install' will install all the files in ${PREFIX}/lib and
${PREFIX}/include. You can specify another installation directory by using
the --prefix-option in the configure call.
This procedure provides all makefiles required in the approporate directories.
Execute 'configure --help' for more details on other available option.
Nonlocal installation
=====================
As mentioned in INSTALL one can configure the adolc package to be installed
in a different directory than "${HOME}/adolc_base" by using the "--prefix=PATH"
configure option. This is typically used for global installations. Common PATHs
are "/usr" and "/usr/local/", and others are known to be used. Fine control
over the installation directories can be gained by supplying additional
configure options. See "./configure --help" for details.
Completing the installation by executing "make install" requires write
permissions for all target directories. Make sure to have them or the result
may be surprising otherwise.
A global installation can be helpfull if many users need the library. By adding
the library's path to "/etc/ld.so.conf" the usage of LD_LIBRARY_PATH and the
"-L" link switch becomes unnecessary. In many cases, for instance for
PATH=/usr/local, the use of the -I directive for compiling sources becomes
unnecessary too.
Examples
========
Examples must be configured to build by using the configure switches
--enable-docexa or --enable-addexa.
They will never be installed by make install but can be found in the
appropriate example subdirectory.
Windows Compilation with Visual Studio
======================================
Please refer to the file windows/Readme_VC++.txt for building the library and
ADOL-C/examples/Readme_VC++.txt for the documented examples.
Enjoy this new version!