From a71171eb1e59864dc3de81bc135a9d7304917686 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Sun, 11 Jan 2015 15:28:52 +0100 Subject: [PATCH] Update documentation add news entry for mumps removal --- doc/doxygen/options.dox.in | 2 +- doc/external-libs/mumps.html | 353 ----------------------------------- doc/news/changes.h | 8 + doc/readme.html | 19 -- doc/users/cmake.html | 2 - doc/users/cmakelists.html | 1 - doc/users/config.sample | 26 --- 7 files changed, 9 insertions(+), 402 deletions(-) delete mode 100644 doc/external-libs/mumps.html diff --git a/doc/doxygen/options.dox.in b/doc/doxygen/options.dox.in index 34513c4880..15949df433 100644 --- a/doc/doxygen/options.dox.in +++ b/doc/doxygen/options.dox.in @@ -163,7 +163,7 @@ PREDEFINED = DOXYGEN=1 \ DEAL_II_USE_MT_POSIX=1 \ DEAL_II_WITH_ARPACK=1 \ DEAL_II_WITH_METIS=1 \ - DEAL_II_WITH_MUMPS=1 \ + DEAL_II_WITH_MUPARSER=1 \ DEAL_II_WITH_P4EST=1 \ DEAL_II_WITH_MPI=1 diff --git a/doc/external-libs/mumps.html b/doc/external-libs/mumps.html deleted file mode 100644 index 400c8499a5..0000000000 --- a/doc/external-libs/mumps.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - The deal.II Readme on interfacing to MUMPS - - - - - - -

Interfacing deal.II - to MUMPS

- -

- 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). -

- -

How to compile and install MUMPS by hand

- -

- 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. -

- -

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 - suit the environment; and (iii) running make to actually compile - the software. -

- -

Note: If you are using a system, which provides - Intel's MKL, you should only have to compile - MUMPS, since BLACS and - SCALPACK are already included in the - MKL. Therefore you can jump directly to - section 3, where the compilation of MUMPS is - considered. Otherwise start right below with the installation - of BLACS. -

- -

1. BLACS

- -

The BLACS library - provides basic linear algebra routines together with a - communication model such that they can be used in parallel. The - compilation of this library is highly dependent on the system - and software used and we can only give a general guide through - the configuration process. -

- -

The library can be found on the - official BLACS - webpage. We require the three - files mpiblacs.tgz, - mpiblacs-patch03.tgz, and - blacstester.tgz. After extraction of these - three files in the same directory, we find a subfolder - named BMAKES in that directory. Inside this - subfolder there are lots of different Bmake-files for - different architectures. The naming of the files are - conventional: Bmake.XXX-YYY, - where XXX stands for the message passing software - of your system - (e.g. MPI, PVM) - and - YYY for the system architecture (e.g. LINUX, - SUN4, SUN4SOL). Pick the corresponding file for your combination - of message passing software and system architecture, copy it to - the root directory of BLACS, and rename it - Bmake.inc. Now that we have the correct makefile, - we have to adapt it to the system we are using. -

- -

We start by opening Bamke.inc in our favourite text editor and - taking a look at the following three sections: - -

-

- -

Assuming we have done all of that correctly, we go back to - the BLACS root directory and compile the - library with the command make mpi. -

- -

2. SCALAPACK

- -

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 scalapack.tgz version <= 1.8.0 only. -

- -

After extracting the file and changing to the directory which - was created, we find a file - called SLmake.inc.example and rename it - to SLmake.inc. In this file we have to set a few - parameters as we did before with BLACS' - own Bmake.inc. - -

-

- -

If all variables are set correctly we can go ahead and compile - the SCALAPACK library with the - command make. -

- -

3. MUMPS

- -

Now we come to the main program for which we are doing all - this. We want to install the parallel sparse direct - solver MUMPS. -

- -

After downloading the solver from its - official webpage, - extracting it, and changing to the directory which was created, we - find a subfolder named - Make.inc where there are bunch of different - Makefiles for different machine architecture. Here it is - important to realize that for each architecture there are two - different files — one with the ending .SEQ - and one without. The makefiles with the extension - .SEQ are the ones required for the sequential - version of MUMPS. Since we want to use MUMPS - in parallel, we take the file - without this extension which looks suitable for the - architecture we are building on and copy this into - the MUMPS root directory and rename it - as Makefile.inc. -

- -

As before, we open the makefile Makefile.inc in - our favourite text editor and start modifying variables: - -

-

- -

- Now we are done with configuration and can - compile MUMPS with the - command make. -

- -

Linking with deal.II

- -

- Support for MUMPS will be enabled automatically - if a system wide installation of MUMPS - can be found. To use a self compiled version, specify -

-
-    -DMUMPS_DIR=/path/to/mumps
-      
on the command line when invoking cmake. -

- -

- For SCALAPACK and BLACS a hint - - if necessary - may be given by -

-
-    -DSCALAPACK_DIR=/path/to/scalapack
-    -DBLACS_DIR=/path/to/blacs
-      
-

- -

- 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. -

- -
-
- - Valid HTML 4.01! - - Valid CSS! -
- - diff --git a/doc/news/changes.h b/doc/news/changes.h index ee01cf9ebc..20b9722f61 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -38,6 +38,14 @@ inconvenience this causes.

    +
  1. Removed: The direct Mumps interface through + SparseDirectMUMPS has been removed. The MUMPS solver is + still available through the Trilinos or PETSc interfaces. Alternatively, + there is SparseDirectUMFPACK, which has a similar interface. +
    + (Matthias Maier, 2015/01/11) +
  2. +
  3. Removed: This release removes a number of functions that have long been deprecated and that were previously already marked as deprecated (i.e., they would have yielded warnings by the compiler whenever diff --git a/doc/readme.html b/doc/readme.html index f0ccb6284c..bdac0569b6 100644 --- a/doc/readme.html +++ b/doc/readme.html @@ -559,25 +559,6 @@ -
    MUMPS
    -
    -

    - MUMPS - (MUltifrontal Massively Parallel sparse direct Solver) - is a sparse direct solver that can factorize matrices within or - across nodes of a cluster. - MUMPS - should be readily packaged by most Linux distributions. - (Don't forget to install a development version of the library). - To use a self compiled version, provide the - -DMUMPS_DIR=/path/to/mumps argument to cmake. - For a detailed description on how to compile MUMPS (and - some dependencies) and linking with deal.II, see - this page. -

    -
    - -
    muparser diff --git a/doc/users/cmake.html b/doc/users/cmake.html index 1d30050716..24ffdc2005 100644 --- a/doc/users/cmake.html +++ b/doc/users/cmake.html @@ -451,7 +451,6 @@ DEAL_II_WITH_HDF5 DEAL_II_WITH_LAPACK DEAL_II_WITH_METIS DEAL_II_WITH_MPI -DEAL_II_WITH_MUMPS DEAL_II_WITH_MUPARSER DEAL_II_WITH_NETCDF DEAL_II_WITH_OPENCASCADE @@ -597,7 +596,6 @@ BOOST_DIR, HDF5_DIR, LAPACK_DIR (and BLAS_DIR), METIS_DIR, -MUMPS_DIR (and SCALAPACK_DIR, BLACS_DIR), MUPARSER_DIR, P4EST_DIR (and SC_DIR), PETSC_DIR and PETSC_ARCH (forming ${PETSC_DIR}/${PETSC_ARCH}), diff --git a/doc/users/cmakelists.html b/doc/users/cmakelists.html index cf5be57460..4282118f25 100644 --- a/doc/users/cmakelists.html +++ b/doc/users/cmakelists.html @@ -796,7 +796,6 @@ DEAL_II_WITH_HDF5 DEAL_II_WITH_LAPACK DEAL_II_WITH_METIS DEAL_II_WITH_MPI -DEAL_II_WITH_MUMPS DEAL_II_WITH_MUPARSER DEAL_II_WITH_NETCDF DEAL_II_WITH_OPENCASCADE diff --git a/doc/users/config.sample b/doc/users/config.sample index 09f749a6fb..2438b39252 100644 --- a/doc/users/config.sample +++ b/doc/users/config.sample @@ -348,32 +348,6 @@ # -# -# Mumps: -# -# SET(DEAL_II_WITH_MUMPS ON CACHE BOOL -# "Build deal.II with support for mumps" -# ) -# -# Automatic detection: -# -# Specify a hint with CMAKE_PREFIX_PATH or by setting -# SET(MUMPS_DIR "/.../..." CACHE PATH "") -# also, if necessary, SCALAPACK_DIR and BLACS_DIR -# -# Manual setup: -# -# SET(MUMPS_FOUND TRUE CACHE BOOL "") -# SET(MUMPS_LIBRARIES "library;and;semicolon;separated;list;of;link;interface" CACHE STRING "") -# SET(MUMPS_INCLUDE_DIRS "semicolon;separated;list;of;include;dirs" CACHE STRING "") -# SET(MUMPS_LINKER_FLAGS "..." CACHE STRING "") -# SET(MUMPS_VERSION "x.y.z" CACHE STRING "") -# SET(MUMPS_VERSION_MAJOR "x" CACHE STRING "") -# SET(MUMPS_VERSION_MINOR "y" CACHE STRING "") -# SET(MUMPS_VERSION_SUBMINOR "z" CACHE STRING "") -# - - # # muPaser: # -- 2.39.5