mumps

MUMPS via CMake

https://github.com/scivision/mumps

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 9 committers (11.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary

Keywords from Contributors

qt
Last synced: 9 months ago · JSON representation

Repository

MUMPS via CMake

Basic Info
  • Host: GitHub
  • Owner: scivision
  • License: mit
  • Language: CMake
  • Default Branch: main
  • Homepage: http://mumps-solver.org
  • Size: 637 KB
Statistics
  • Stars: 132
  • Watchers: 10
  • Forks: 54
  • Open Issues: 11
  • Releases: 50
Created about 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Codemeta

README.md

MUMPS sparse solver

ci ci_windows ci_build oneapi-linux

CMake downloads the unmodified source tarfile from MUMPS developers and builds. For offline usage, the user can specify a local MUMPS source archive like cmake -Bbuild -DMUMPS_url=/path/to/mumps.zip

CMake builds MUMPS in parallel faster and more conveniently than the original Makefiles. CMake allows easy reuse of MUMPS in external projects via any of:

MUMPS CeCILL-C license is distinct from this CMake script license. MUMPS teams typically make new releases each year.

Many compilers and systems are supported by CMake build system on Windows, MacOS and Linux. Static (default) or Shared cmake -DBUILD_SHARED_LIBS=on MUMPS builds are supported.

Virtually all contemporary compilers work, including GCC, Clang/Flang, oneAPI, NVHPC, AOCC, Cray, etc.

By default PORD ordering is used. Scotch, METIS, and parMETIS ordering can be used and will be automatically built if needed.

Several LAPACK vendors are supported.

The MUMPS project is distinct from this CMake script wrapper. See the MUMPS Users email list and MUMPS User Guide for any questions about MUMPS itself.

Build

From this repo's top directory:

sh cmake -B build cmake --build build

Numerous MUMPS build options are available.

The default precision is float64 and float32. To build all precisions including complex64, complex128 do:

```sh cmake -Bbuild -DBUILDSINGLE=on -DBUILDDOUBLE=on -DBUILDCOMPLEX=on -DBUILDCOMPLEX16=on

cmake --build build ```

The headers and library are optionally installed to an install prefix:

```sh cmake -Bbuild --install-prefix /path/to/install/mumps

cmake --install build ```

With the default options the build/ directory contains library binaries (Windows binaries have different names):

  • libdmumps.a (real64)
  • libsmumps.a (real32)
  • libmumps_common.a (common MUMPS routines)
  • libpord.a (PORD library)

If -DMUMPS_parallel=no was set, additional helper libraries are built in place of linking MPI libraries:

  • libmpiseq_fortran.a
  • libmpiseq_c.a

The libmpiseq.a file isn't used directly by this project, but it for compatibility with other build systems that may expect a libmpiseq file.

These libraries can be linked into C, C++, Fortran, etc. programs, or even be used with appropriate interfaces from Matlab and Python PyMUMPS and python-mumps.

Self test and examples

Optionally, run self-tests:

sh ctest --test-dir build

To build the example, first "install" the MUMPS package-the default install location is under the MUMPS build/local directory:

```sh cmake --install build

cmake -S example -B example/build -DMUMPS_ROOT=build/local

cmake --build example/build ```

Using binary libraries

Linking the MUMPS binaries into a user-program is project-dependent. An example using the examples in this project with GNU GCC, using the "mpicxx" MPI compiler wrapper:

sh mpicxx ./example/d_example.cpp -I./build/local/include -L./build/local/lib -ldmumps -lmumps_common -lpord -lscalapack -lblacs -llapack -lblas -lgfortran

If -DMUMPS_parallel=no was used to build MUMPS, instead do:

sh g++ ./example/d_example.cpp -I./build/local/include -L./build/local/lib -ldmumps -lmumps_common -lpord -llapack -lblas -lmpiseq_fortran -lmpiseq_c -lgfortran

Owner

  • Login: scivision
  • Kind: user

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/CECILL-C.html",
  "codeRepository": "https://github.com/scivision/mumps",
  "contIntegration": "https://github.com/scivision/mumps/actions",
  "downloadUrl": "https://github.com/scivision/mumps/releases",
  "issueTracker": "https://github.com/scivision/mumps/issues",
  "name": "MUMPS",
  "identifier": "10.1145/3242094",
  "description": "MUltifrontal Massively Parallel sparse direct Solver",
  "applicationCategory": "linear algebra",
  "developmentStatus": "active",
  "keywords": [
    "sparse direct solver"
  ],
  "programmingLanguage": [
    "Fortran",
    "C"
  ]
}

GitHub Events

Total
  • Issues event: 7
  • Watch event: 30
  • Issue comment event: 5
  • Pull request event: 5
  • Fork event: 12
Last Year
  • Issues event: 7
  • Watch event: 30
  • Issue comment event: 5
  • Pull request event: 5
  • Fork event: 12

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 476
  • Total Committers: 9
  • Avg Commits per committer: 52.889
  • Development Distribution Score (DDS): 0.021
Past Year
  • Commits: 52
  • Committers: 2
  • Avg Commits per committer: 26.0
  • Development Distribution Score (DDS): 0.019
Top Committers
Name Email Commits
Michael Hirsch s****n 466
Josh Soref j****f 3
ri1ken 7****7@q****m 1
luzpaz l****z 1
Tarcísio Ladeia de Oliveira t****a@u****r 1
Sebastian Grimberg s****g@a****m 1
Rick Budé r****e@t****l 1
Georgios Kafanas g****s@u****u 1
adam-sim-dev u****n 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 55
  • Total pull requests: 18
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Total issue authors: 35
  • Total pull request authors: 14
  • Average comments per issue: 1.96
  • Average comments per pull request: 2.39
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 5
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 21 hours
  • Issue authors: 10
  • Pull request authors: 2
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.2
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • adam-sim-dev (9)
  • vchunchu-amd (3)
  • eike-fokken (3)
  • xiaorong117 (3)
  • puneetmatharu (3)
  • gouff (2)
  • hbadi (2)
  • gkaf89 (2)
  • TangLaoya (2)
  • koutoui (1)
  • j-machacek (1)
  • liang-jinli (1)
  • ztdepztdep (1)
  • scivision (1)
  • quantenschaum (1)
Pull Request Authors
  • gsylvand (3)
  • luzpaz (2)
  • puneetmatharu (2)
  • dzmitry-lahoda (2)
  • Rickbude (1)
  • dariomangoni (1)
  • scivision (1)
  • gkaf89 (1)
  • Kiotlin (1)
  • adam-sim-dev (1)
  • Baljak (1)
  • sebastiangrimberg (1)
  • jsoref (1)
  • TarcisioLOliveira (1)
Top Labels
Issue Labels
documentation (4) upstream (4) Windows (4) enhancement (3) intel compiler (3) bug (2)
Pull Request Labels
bug (1)

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
.github/workflows/ci_build.yml actions
  • actions/checkout v4 composite
.github/workflows/oneapi-windows.yml.bak actions
  • actions/checkout v4 composite
.github/workflows/ci_windows.yml.bak actions
  • actions/checkout v4 composite
  • msys2/setup-msys2 v2 composite
.github/workflows/composite-build/action.yml actions
.github/workflows/composite-cmake/action.yml actions
.github/workflows/composite-deps/action.yml actions
.github/workflows/composite-example/action.yml actions
.github/workflows/oneapi-linux.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite