• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

MATLAB/H03-May-2022-1,4481,214

Make.inc/H03-May-2022-2,3081,882

PORD/H03-May-2022-9,5275,924

SCILAB/H03-May-2022-1,9051,570

doc/H03-May-2022-

examples/H03-May-2022-688529

include/H03-May-2022-1,9431,629

lib/H03-May-2022-21

libseq/H03-May-2022-1,8561,537

src/H03-May-2022-366,181318,096

waftools/H03-May-2022-1,034808

CREDITSH A D23-Oct-20201.6 KiB2823

ChangeLogH A D23-Oct-202026.7 KiB598550

INSTALLH A D23-Oct-202013.3 KiB321253

LICENSEH A D23-Oct-20202.2 KiB4535

MakefileH A D03-May-20222 KiB8356

Makefile.incH A D03-May-20223.4 KiB10134

Makefile.inc.inH A D23-Oct-20203.3 KiB9680

README.mdH A D23-Oct-20204.1 KiB15591

README.mumpsH A D23-Oct-20202.2 KiB6241

VERSIONH A D23-Oct-202040 32

wafH A D23-Oct-2020105.3 KiB173132

wscriptH A D23-Oct-202010 KiB268245

README.md

1# MUMPS: a MUltifrontal Massively Parallel sparse direct Solver #
2
3http://mumps.enseeiht.fr/index.php?page=home
4
5This repository publishes a branch **for_aster** that differs from **default** (*upstream*) by:
6
7- adding a build system based on `waf` that gives a automatic `waf configure` step,
8
9- changing the fortran include files to force short integers, reals and logicals. This allows to use `-i8` option when building *code_aster*.
10
11
12Download the source files by cloning the repository (don't forget to change to the **for_aster** branch):
13
14```
15mkdir -p $HOME/dev/aster-prerequisites && cd $HOME/dev/aster-prerequisites
16hg clone http://hg.code.sf.net/p/prereq/mumps
17cd mumps
18hg update for_aster
19```
20
21
22## Building Mumps using the waf scripts ##
23
24The [waf][] scripts have been added by the code_aster team to configure the
25`Makefile.inc` of [Mumps][].
26
27The configuration will check for C and Fortran compilers, eventually MPI wrappers if `--enable-mpi` option is provided, mathematical libraries, Metis and Scotch libraries.
28
29
30Type `waf --help` for a full description.
31
32Main options:
33
34* `--prefix=$PREFIX`:
35
36  This is the installation directory where `lib` will be created and the libraries will be copied to.
37
38* `--enable-mpi`:
39
40  This enables build against MPI libraries.
41  MPI wrappers are automatically selected to `mpicc` and `mpif90`.
42  Use `CC` and `FC` to set different values.
43  Blacs and Scalapack are also added into the mathematical libraries dependencies.
44
45* `--install-tests`:
46
47  The small unittests of Mumps are always built in `src/examples`.
48  Using this option, there will be installed in `$PREFIX/share/examples`.
49
50
51### Configuration and installation ###
52
53Libraries are searched in standard paths. Environment variable `LIBPATH` can be used to search in some other directories (space separated). `INCLUDES` environment variable can be used to search includes in other directories than standard ones.
54
55Compilers can be customized throug `CC` and `FC` (or options `--check-c-compiler=` and `--check-fortran-compiler=`).
56
57Mathematical libraries are automatically searched or defined with `--maths-libs=` (space separated).
58
59Typical usage:
60
61```
62#!bash
63
64    CC=... FC=... \
65    LIBPATH="SCOTCHDIR/lib METISDIR/lib" \
66    INCLUDES="SCOTCHDIR/include METISDIR/include" \
67        ./waf configure install [options]
68```
69
70
71### Examples ###
72
73`[options]` is usually `--prefix=$PREFIX --install-tests`.
74
75
76Sequential builds:
77
78- Using gfortran:
79
80```
81#!bash
82
83     LIBPATH="xxx" INCLUDES="xxx" \
84        ./waf configure install [options]
85```
86
87
88- Using Intel compilers:
89
90```
91#!bash
92
93    CC=icc FC=ifort LIBPATH="xxx" INCLUDES="xxx" \
94        ./waf configure install [options]
95```
96
97Parallel builds:
98
99- Using gfortran with OpenMPI:
100
101```
102#!bash
103
104    LIBPATH="xxx" INCLUDES="xxx" \
105        ./waf configure install --enable-mpi [options]
106```
107
108- Using Intel compilers with MPI support::
109
110```
111#!bash
112
113    CC=mpiicc FC=mpiifort LIBPATH="xxx" INCLUDES="xxx" \
114        ./waf configure install --enable-mpi [options]
115```
116
117
118### Troubleshooting ###
119
120Because `waf` does not know elementary targets in the Makefile (and `Makefile.inc` is not a dependency), sometimes you need force to rebuild by:
121
122```
123#!bash
124
125    ./waf clean install
126```
127
128
129See [code_aster][] and [waf][] websites for more informations.
130
131
132### Changes on include files ###
133
134The changes allow to build code_aster with `-i8` option and keep short integers in the Mumps interface using these changed includes.
135
136Declarations are forced to be of size 4 for integers, reals and logicals:
137
138```
139#!bash
140
141    sed -i 's/INTEGER,/INTEGER(4),/g' include/*_{struc,root}.h libseq/mpif.h
142    sed -i 's/INTEGER /INTEGER(4) /g' include/*_{struc,root}.h libseq/mpif.h
143    sed -i 's/REAL,/REAL(4),/g' include/*_{struc,root}.h libseq/mpif.h
144    sed -i 's/REAL /REAL(4) /g' include/*_{struc,root}.h libseq/mpif.h
145    sed -i 's/LOGICAL,/LOGICAL(4),/g' include/*_{struc,root}.h libseq/mpif.h
146    sed -i 's/LOGICAL /LOGICAL(4) /g' include/*_{struc,root}.h libseq/mpif.h
147```
148
149Do not forget to check long lines (< 72 chars).
150
151
152[code_aster]: http://www.code-aster.org
153[Mumps]: http://mumps.enseeiht.fr/index.php?page=home
154[waf]: https://waf.io
155

README.mumps

1===========================================
2MUMPS 5.1.2
3===========================================
4
5MUMPS 5.1.2 solves a sparse system of linear equations A x = b
6using Gaussian elimination. Please read this README file and
7the documentation (in ./doc/) for a complete list of
8functionalities. Documentation and publications related
9to MUMPS can also be found at http://mumps-solver.org/
10
11For installation problems, bug reports, and to report your
12experience/feedback with the package, please subscribe to the
13MUMPS Users's mailing list.
14
15Please refer to INSTALL for installation instructions.
16
17
18  Copyright 1991-2017 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
19  University of Bordeaux.
20
21  This version of MUMPS is provided to you free of charge. It is
22  released under the CeCILL-C license:
23  http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html
24
25
26
27Contents of the distribution:
28----------------------------
29
30ChangeLog  LICENSE    CREDITS    INSTALL    README     VERSION
31Makefile   Make.inc/  doc/       src/       lib/       include/
32ibseq/     examples/  PORD/      MATLAB/    SCILAB/
33
34doc      contains the users' guide in pdf format.
35
36src      contains the source files (for all arithmetics 's','d','c' or 'z')
37         necessary to generate the MUMPS library.
38
39lib      is the place where the MUMPS libraries libxmumps.a
40         (x='s','d','c' or 'z') and the arith-independent
41         library libmumps_common.a are generated.
42
43include  contains xmumps_struc.h, xmumps_root.h and xmumps_c.h (where x is one
44         of 'd','c','s','z' depending on the arithmetic desired),
45         mumps_c_types.h and mumps_compat.h. The first two files must be
46         available at compile time in order to use MUMPS from external FORTRAN
47         programs. The three others for C programs.
48
49libseq   contains a sequential MPI library used by the purely sequential
50         version of MUMPS.
51
52examples contains illustrative test programs showing how MUMPS can be used.
53
54PORD     contains the PORD package (not part of MUMPS) from University
55         of Paderborn. See PORD/README for more info.
56
57MATLAB   contains a MATLAB interface to the sequential version of MUMPS
58
59SCILAB   contains a SCILAB interface to the sequential version of MUMPS
60         (only tested with scilab version 4)
61
62