From: maier This documentation describes the compilation process
- of MUMPS and its dependencies starting with
- BLACS and following
- with SCALAPACK. The compilation
- of MUMPS and its dependencies is not as
- straightforward is we would like, however, it is not so
- difficult that we can not talk about it. That said, we cannot
+
+ MUMPS
+ should be readily packaged by most Linux distributions.
+ Don't forget to install a develpment version of the library.
+
+ Below is a detailed instruction on how to compile and install
+ MUMPS and some of its dependencies by hand (for
+ the case you wish to do so).
+
+ In the following, we describe the compilation process of
+ MUMPS and its dependencies starting
+ with BLACS and following with
+ SCALAPACK.
+
+ The compilation of MUMPS and its dependencies
+ is not as straightforward is we would like, however, it is not
+ so difficult that we can not talk about it. That said, we cannot
discuss every possible choice of parameters, because this is too
involved (and we would probably much rather be doing something
- productive with the interface and
- deal.II). Thus we give only a short
- walk-through mentioning the most important parameters needed for
- successful compliation and linking.
+ productive with the interface and deal.II). Thus
+ we give only a short walk-through mentioning the most important
+ parameters needed for successful compliation and linking.
The compilation scheme involves repeating the same three steps
for each piece of software we want installed: (i) Selecting an
appropriate makefile; (ii) Modifying symbols in this makefile to
@@@ -62,9 -47,9 +62,9 @@@
considered. Otherwise start right below with the installation
of BLACS.
The BLACS library
provides basic linear algebra routines together with a
communication model such that they can be used in parallel. The
@@@ -140,18 -125,18 +140,18 @@@
the BLACS root directory and compile the
library with the command The SCALAPACK
library provides high-performance linear algebra routines for
distributed-memory message-passing MIMD
computers. The library can be found on the
official SCALAPACK
webpage. We require the
-- file After extracting the file and changing to the directory which
was created, we find a file
called Now we come to the main program for which we are doing all
this. We want to install the parallel sparse direct
solver MUMPS.
@@@ -297,57 -282,38 +297,57 @@@
Now we are done with configuration and can
+
+ Now we are done with configuration and can
compile MUMPS with the
command
+ Support for MUMPS will be enabled automatically
+ if a system wide installation of MUMPS
+ can be found. To use a self compiled version, specify
+ To be able to use the interface of deal.II
- for the MUMPS solver we then
- configure deal.II with the following
- additional options:
+ -DMUMPS_DIR=/path/to/mumps
+ Interfacing deal.II
to MUMPS
- How to compile and install MUMPS by hand
+
+ 1. BLACS
+ 1. BLACS
-
+
make mpi
.
2. SCALAPACK
+ 2. SCALAPACK
-
+
scalapack.tgz
version <= 1.8.0 only.
++ file scalapack.tgz
version <= 1.8.0 only.
SLmake.inc.example
and rename it
@@@ -218,9 -203,9 +218,9 @@@
the SCALAPACK library with the
command make
.
3. MUMPS
+ 3. MUMPS
-
+
make
.
4. Linking with deal.II
+ Linking with deal.II
+
+
-
on the command line when invoking cmake
.
+
+ For SCALAPACK and BLACS a hint + - if necessary - may be given by
-
- --with-mumps=path/to/mumps
- --with-blacs=path/to/blacs
- --with-scalapack=path/to/scalapack
-
+
+ -DSCALAPACK_DIR=/path/to/scalapack
+ -DBLACS_DIR=/path/to/blacs
- Note: Throughout this description of the compilation process
- of MUMPS we have emphasised adding the
- compiler flag -fPIC
. This is a definite requirement
- if we are compiling deal.II with shared
- libraries (which is the default). If we had preferred to be
- compiling deal.II without shared libraries,
- that's ok too; in that case we would do exactly the same thing
- as described above, but this time omitting
- the -fPIC
flag from the scheme.
+ You can override the autodetection by manually specifying
+
+ -DDEAL_II_WITH_MUMPS=OFF|ON +. + - ++ +
+ Note: Throughout this description of the compilation process
+ of MUMPS we have emphasised adding the compiler
+ flag -fPIC
. This is a definite requirement if we
+ are compiling deal.II with shared libraries
+ (which is the default). If we had preferred to be compiling
+ deal.II without shared libraries, that's ok too;
+ in that case we would do exactly the same thing as described above,
+ but this time omitting the -fPIC
flag from the scheme.