Installation guide : eigenvalue solver

ARPACK - eigenvalue solver (implicitly restarted Arnoldi method)

Installing packages in Debian,

For the Linux distributions Debian or Ubuntu install the package

libarpack2-dev

using the packet manager.

Important: Make sure that the library libarpack.so or libarpack.a is installed into /usr/lib or /usr/lib64. Otherwise specify the path ARPACK_PATH in $(CONCEPTS_DEV)/boost-build-modules.jam. Note that the library needs to have exactly the name as given above. If it should have a suffix with the version number for example, you have to create a symbolic link.

Direct installation

  • Download ARPACK from http://www.caam.rice.edu/software/ARPACK, e.g.
    cd /scratch/kersten 
    wget http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz
    tar -xzf arpack96.tar.gz
    wget http://www.caam.rice.edu/software/ARPACK/SRC/patch.tar.gz
    tar -xzf patch.tar.gz
  • Edit ARmake.inc and change
    home = /scratch/kersten/ARPACK 
    BLASdir = /usr/lib
    LAPACKdir = /usr/lib
    LAPACKLIB = /usr/lib
    BLASLIB = /usr/lib
    FC = gfortran
    FFLAGS = -O3 -funroll-all-loops -ffast-math -fPIC
    MAKE = make
    replace g77-3.4.5 with your version of the Fortran compiler. The last two changes may not be necessary on some machines.
  • Call
    make all
  • Recompile Concepts
    bjam
    Now you should read something like
    Activating support for eigenvalue solver Arpack.

Trilinos - large-scale, complex multi-physics engineering and scientific problems

Concepts uses Trilinos for Anasazi, a versatile eigenvalue solver.
trilinos-9.0.2.tar.gz

  • Extract the archive
tar xzf trilinos-9.0.2.tar.gz

  • Enter the newly created directory
cd trilinos-9.0.2

  • It is recommended to create an empty subdirectory for each build
mkdir build && cd build 

  • You can compile Trilinos (i) with gcc-4 and gfortan or (ii) with gcc-3 and g77.
(i). Your default compiler is gcc-4 or you choose for it (recommended).
  • You should define the following environment variables, here the example of bash shell:
export CC="gcc-4.1.2"
export CXX="g++-4.1.2"
export CXXFLAGS="-fPIC -O3 -fomit-frame-pointer -g"
export CFLAGS="-fPIC -O3 -fomit-frame-pointer -g"
export LDFLAGS="-fPIC"

  • Trilinos has to use gfortran (binary) which is often part of the gcc package.
  • If both gfortran and g77 are installed, Trilinos need a bit of help to use it and not the possibly also existing g77. For bash shells, this can be done with
export F77="gfortran-4.1.2"

  • Call the configure script (located in the parent directory)
../configure --prefix=<i>installdir</i> --with-gnumake --enable-anasazi --enable-epetra --enable-teuchos --enable-triutils --enable-didasko --enable-shared --cache-file=config.cache

  • Without gnumake flag the makefile are really awkward.
  • The other flags are needed to install by Anasazi required packages.
  • The output of configure should then include: (and not g77 or any compiler you do not want to use, see page 19 in the Trilinos user guide for more flags)
checking whether g++-4.1.2 accepts -g... yes
checking whether gfortran-4.1.2 accepts -g... yes

(ii). Your default compiler is gcc-3 or you choose for it.
  • Trilinos has to use g77 (binary).
  • If you use it please supplement to this Wiki documentation.
  • Start building Trilinos via
make sudo make install 
  • Go to $(CONCEPTS_DEV)/eigensolver/anasazi, execute bjam, the build should now succeed.
  • Complete the environment variable LD_LIBRARY_PATH such that the shared libraries will be found, e.g. for bash shells
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH':<i>installdir</i>/lib

Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/InstallationGuideEigenvalueSolver
2020-10-26
© 2020 Eidgenössische Technische Hochschule Zürich