wiki:Prerequisites

Overview

fresh checkout compile compile(optional) indirect dependencies
  • Autotools incl.
    • autoconf (>=2.59),
    • automake (>=1.9.6),
    • libtool (>=1.5.18);
  • Python (>=2.3)
  • BLAS (required by UMFPACK)

Python

Python 2.3 is needed by the script that generates Fortran module dependencies, which is used in the build process.

Newer Python versions may be required by other scripts, e.g. storing regression tests to MySQL required Python 2.5.

Compilers

DOUG builds with Fortran 95 and C compiler. GNU toolchain is used for development.

Fortran

  • gfortran -- GNU Fortran is primarly used in development, currently version 4.4
  • ifort -- Intel Fortran is used on some clusters
  • g95 -- this compiler was used to test DOUG before
    • Make sure you have g95, which assumes default integer to be 32 bits. Even passing -i4 flag to g95 is not a solution for DOUG.

MPI

DOUG mainly tested with OpenMPI. Other MPI implementations should work without problems.

Libraries

Two libraries are mandatory: UMFPACK and METIS.

UMFPACK

A set of routines for solving unsymmetric sparse linear systems, Ax=b, using the Unsymmetric MultiFrontal method.

UMFPACK is used by complete solver for local problems in Additive Schwarz preconditioner. It is available as SuiteSparse package on some linux distros. The source is at  http://www.cise.ufl.edu/research/sparse/umfpack/, but you also need UFConfig and AMD to compile it.

METIS

METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices.

The source is at  http://glaros.dtc.umn.edu/gkhome/metis/metis/overview

FXDR

Fortran XDR (eXternal Data Representation) is the third format that DOUG accepts as input and output.