-
Notifications
You must be signed in to change notification settings - Fork 0
A Branch of ADOL-C with Reverse Hessian (Edge Pushing)
License
CSCsw/LivarH
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
##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!
About
A Branch of ADOL-C with Reverse Hessian (Edge Pushing)
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published