Download Latest Version libint-2.0.3-stable.tgz (8.3 MB)
Email in envelope

Get an email when there's a new version of libint

Home / v1-releases
Name Modified Size InfoDownloads / Week
Parent folder
README 2013-05-15 8.4 kB
libint-1.1.5.tar.gz 2013-05-15 376.7 kB
progman.pdf 2011-04-25 173.8 kB
libint-1.1.4.tar.gz 2011-04-25 350.3 kB
libint-1.1.3.tar.gz 2011-04-25 516.0 kB
libint-1.1.2.tar.gz 2011-04-25 376.9 kB
libint-1.1.1.tar.gz 2011-04-25 492.5 kB
libint-1.1.0.tar.gz 2011-04-25 495.3 kB
libint-1.0.0.tar.gz 2011-04-25 94.3 kB
Totals: 9 Items   2.9 MB 0
Introduction
============
Libint version 1 ("Libint1") is the old(er) code that supports four-center electron-repulsion (Coulomb) integrals and their first and second geometrical derivatives, as well as four-center integrals that appear in the "old" R12 methods using linear correlation factor. MPQC and CP2K have interfaces to this version of Libint, and Psi has Libint1 embedded. Version 1 is no longer actively developed. Maintenance releases may still appear as necessary.

Revision History
================
▪       May 15, 2013: version 1.1.5 libint-1.1.5.tar.gz
	▪	updated libtool, config.guess/sub, etc.
▪	August 29, 2007: version 1.1.4 libint-1.1.4.tar.gz
▪	Fixed a serious bug in the derivative ERI code introduced in transition to 1.1.3 (thanks to Xiangqian Hu of Duke University for the bug report)
▪	Improved the build procedure (following report by Daniel Leidert)
▪	March 7, 2007: version 1.1.3 libint-1.1.3.tar.gz
▪	Configure script supports additional command-line flags for compiler flags, etc.
▪	Angular momenta up to 15 now supported (tested for angular momenta up to 10).
▪	General improvements (fixed typos, errors in documentation)
▪	December 5, 2003: version 1.1.2 libint-1.1.2.tar.gz
▪	August 7, 2003: version 1.1.1 libint-1.1.1.tar.gz
▪	August 1, 2003: version 1.1.0 libint-1.1.0.tar.gz
▪	February 19, 2003: version 1.0.0 libint-1.0.0.tar.gz


Prerequisites
=============
▪	GNU autoconf 2.52 and higher
▪	GNU automake
▪	Standard C/C++ compiler. The following compilers have been used successfully to compile libint:
	▪	GNU compiler suite (gcc): versions 2.96, 3.2, 3.3, 3.4, 4.x (up to x=7 tested)
	▪	IBM VisualAge C++ (xlc_r, xlC_r): versions 5.0 and 6.0. Either 32-bit or 64-bit (-q64) mode can be used.
	▪	Intel C/C++ compiler for x86 (icc) and Itanium (ecc) systems: version 7.1 and higher
	Other standard-compliant compilers should also work. Please, let me know if you compile libint using a compiler not on the list.
▪	GNU install
▪	GNU make
▪	Depending on your configuration, up to 100 MB of disk space. The disk space doesn't have to be in the file system where the compilation process is started. It is best to use a directory on a filesystem local to the machine, such as /tmp.
▪	LaTeX 2e for creating documentation (optional).
The GNU tools can be obtained from the GNU software repository.

Configuration
=============
We recommend creating a separate directory which will contain all compiled files. Some meaningful name should be used for the directory, e.g. libint.power3.64.

The next step is to enter the compilation directory and run configure, a script used to determine compilation environment of the machine and, if necessary, customize the library. configure in the top source directory. Although configure will most likely run successfully without any command-line arguments, you will likely need to specify several configuration parameters to compile custom libint library. libint compiled with default parameters can only compute electron repulsion integrals (ERI) over up to g-functions (orbital quantum number of 4). If you want to use the library to compute other integrals or increase the maximum orbital number of basis functions you will need to customize the library. Achieving top performance from the library also usually means custom configuring libint.

Configuration parameters are passed as command-line arguments to configure. The complete list of valid options can be obtained by running configure with --help option. The following are the most useful command-line options to the configure script:

▪ --prefix 
Specifies the directory in which to install the compiled library and header files. Default is /usr/local.
▪ --with-scratchdir 
Specifies which directory to use for generated library source files. Default is to use a subdirectory in the compilation directory.
▪ --with-cc 
Specifies which C compiler to use to compile the library generators. configure will try to find a suitable compiler if this option is not given.
▪ --with-cxx 
Specifies which C++ compiler to use to compile the library source files. configure will try to find a suitable compiler if this option is not given.
▪ --with-ar 
Specifies which archiver to use to make the library. configure will try to find a suitable archiver if this option is not given.
▪ --enable-debug 
This flag will cause the library to be compiled so that it can be used with a debugger.
▪ --enable-shared 
This flag will cause shared library to be created.
▪ --enable-deriv 
This flag will cause a libderiv.a component to be compiled. This library can be used in conjunction with libint.a to compute derivative ERIs of up to second order.
▪ --enable-r12 
This flag will cause libr12.a component to be compiled. This library can be used in conjunction with libint.a to compile integrals operative in linear R12 methods.
▪ --with-libint-max-am 
Specifies the maximum orbital quantum number of Gaussians that can be handled by libint.a. Default is 4 (g-functions). Values higher than 7 are not recommended.
▪ --with-libderiv-max-am1 
Specifies the maximum orbital quantum number of Gaussians that can be handled by libderiv.a to compute first derivative ERIs. Default is 3 (f-functions). Values higher than 5 are not recommended.
▪ --with-libderiv-max-am2 
Specifies the maximum orbital quantum number of Gaussians that can be handled by libderiv.a to compute second derivative ERIs. Default is 2 (d-functions). Values higher than 4 are not recommended.
▪ --with-libr12-max-am 
Specifies the maximum orbital quantum number of Gaussians that can be handled by libr12.a to compute integrals for linear R12 methods. Default is 3 (f-functions). Values higher than 6 are not recommended.
▪ --with-libint-opt-am 
Specifies the orbital quantum numbers of Gaussians for which optimized iERI evaluation routines will be generated. Default is LIBINT_MAX_AM/2+1.
▪ --with-libr12-opt-am 
Specifies the orbital quantum numbers of Gaussians for which optimized R12 integrals evaluation routines will be generated. Default is LIBR12_MAX_AM/2+1.
▪ --enable-long-double 
This flag will cause libint to perform all computations using long double. The use of long double may allow computations of integrals with higher machine precision.

Compilation
===========
After the library has been properly configured, type 'make' to compile the library. If compilation was successful, type 'make install' to install the library and header files. If you would like to create a local copy of documentation, type 'make doc'.

The following is the list of tips/hints for resolving compilations problems or obtaining top performance from the library:
▪	On Itanium systems with Intel C/C++ compiler it is recommended that you give -fno-alias flag to the C++ compiler to compile the library. The best set of options we found is -O3 -tpp2 -mcpu=itanium2 -fno-alias.
▪	On IBM's POWER3 and POWER4 systems, to compile the library in 64-bit mode you need to give the C++ compiler -q64 flag and use -X64 flag with the archiver. You should always use the reentrant version of the compiler, xlC_r, otherwise the library may not work properly in multithreaded environments.
▪	MacOS X (versions 10.1 and 10.2) seems to set stacksize limit too low for the library generators to run properly. Use unlimit to increase the limit and then proceed with compilation (thanks to Daniel Crawford for this tip).
▪	Cygwin on Windows seems to also suffer from small default for the stack size. You can work around this issue by adding -Wl,--stack,8388608 to the linker command line (thanks to Jussi Lehtola for this tip).
▪	On Intel Xeon and Pentium4 systems we obtain significantly higher performance with Intel C/C++ compilers. In the latest test we compared Intel C/C++ compiler (version 7.1) against GNU gcc compiler (versions 3.2 and 3.3). libint performs at least 10% better with the former compiler. The recommended compiler options are -O3 -xW -tpp7.

Post-compilation
================
Library components are installed under PREFIX/lib. By default, only libint.a, the component for computing ERIs, is compiled. Other components are libderiv.a and libr12.a. Associated header files are installed under PREFIX/include. Header files for each component go into a subdirectory named after that component, e.g. header files for libint.a go into PREFIX/include/libint.
Source: README, updated 2013-05-15