mumps-build
Science Score: 26.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
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.8%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: amd
- License: mit
- Language: CMake
- Default Branch: main
- Size: 300 KB
Statistics
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 0
- Releases: 6
Metadata Files
README.md
MUMPS sparse solver
We avoid distributing extracted MUMPS sources ourselves--instead CMake will download the tarfile and extract, then we inject the CMakeLists.txt and build.
CMake:
- builds MUMPS in parallel 10x faster than the Makefiles
- allows easy reuse of MUMPS in external projects via CMake FetchContent
Prerequisites
- Cmake and Ninja Makefile Generator. Make sure Ninja is installed/updated in the Microsoft Visual Studio installation folder @ "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja" a. Latest Ninja Binary at https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip
- Intel OneAPI toolkit, should include C, C++, Fortran Compilers, MPI, MKL libraries (refer https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#vtune)
Prebuilt AOCL libraries for BLAS, LAPACK and Scalapack a. AOCL-BLAS, AOCL-LAPACK and Scalapack libraries can be built from source or extracted from AOCL_Windows-setup-xxxx-AMD.exe based on integer size needed, LP64 or ILP64. Refer https://developer.amd.com/amd-aocl/ for more details. 1. Choose MT Shared libraries for AOCL-BLAS: AOCL-LibBlis-Win-MT-dll.lib and AOCL-LibBlis-Win-MT-dll.dll 2. Shared libraries for AOCL-LAPACK: AOCL-LibFlame-Win-MT-dll.lib and AOCL-LibFlame-Win-MT-dll.dll b. LP64/ILP64 libraries of the dependent libraries (AOCL-BLAS, AOCL-LAPACK and Scalapack) need to be linked with the corresponding Mumps LP64/ILP64 builds
If reordering library is chosen to be Metis, Prebuilt Metis Library from SuiteSparse public repo (https://github.com/group-gu/SuiteSparse.git). Build Metis library separately from metis folder. a. cd SuiteSparse\metis-5.1.0 b. Define IDXTYPEWIDTH and REALTYPEWIDTH to 32/64 based on integer size required in metis/include/metis.h c. Configure
cmake S . -B ninja_build_dir -G "Ninja" -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ONd. Build the project
cmake --build ninja_build_dir --verbose- Library metis.lib should be generated at ninjabuilddir\lib
Boost libraries on windows a. Required to read mtx files efficiently and quickly b. Needed for aoclamd.cpp test application that links to Mumps libraries and measure performance for a SPD .mtx file
c. Download sources and bootstrap as instructed in https://www.boost.org/doc/libs/1550/more/gettingstarted/windows.html
d. Define BOOST_ROOT in tests/CMakeLists.txt
Build
- Open Intel oneAPI command prompt for Intel 64 for Visual Studio 2019 from Windows Search box
- Configure Mumps Project using Ninja:
cmake S . -B ninja_build_dir -G "Ninja" -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX="</mumps/install/path>" -Dscotch=ON -Dopenmp=ON -DBUILD_SHARED_LIBS=OFF -Dparallel=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DUSER_PROVIDED_BLIS_LIBRARY_PATH="<path/to/blis/library/path>" -DUSER_PROVIDED_BLIS_INCLUDE_PATH="<path/to/blis/headers/path>" -DUSER_PROVIDED_LAPACK_LIBRARY_PATH="<path/to/lapack/library/path>" -DUSER_PROVIDED_LAPACK_INCLUDE_PATH="<path/to/lapack/headers/path>" -DUSER_PROVIDED_SCALAPACK_LIBRARY_PATH="<path/to/scalapack/library/path>" -DUSER_PROVIDED_METIS_LIBRARY_PATH="<path/to/metis/library/path>" -DUSER_PROVIDED_METIS_INCLUDE_PATH="<path/to/metis/include/path>" -DUSER_PROVIDED_IMPILIB_ILP64_PATH=“<path/to/intel/mpi/lib/ilp64>” -DCMAKE_C_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2021.3.0/windows/bin/intel64/icl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2021.3.0/windows/bin/intel64/icl.exe" -DCMAKE_Fortran_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2021.3.0/windows/bin/intel64/ifort.exe" -DBOOST_ROOT="<path/to/boost>" -Dintsize64=OFF -DMUMPS_UPSTREAM_VERSION="<mumps_src_version>"Following options are enabled in the command: -DBUILDTESTING=ON-Dscotch=OFF SHAREDLIBS=OFF-Dparmetis=OFF -Dmetis=ON -Dopenmp=ON -Dintsize64=OFF -DBUILD -Dparallel=ON VERBOSEMAKEFILE:BOOL=ON-DCMAKE -DCMAKE BUILDTYPE=Release-DUSER PROVIDEDBLISLIBRARYPATH=“” PROVIDEDBLISINCLUDEPATH=“-DUSER ” PROVIDEDLAPACKLIBRARYPATH=“-DUSER ” PROVIDEDLAPACKINCLUDEPATH=“-DUSER ” PROVIDEDSCALAPACKLIBRARYPATH=“-DUSER ” PROVIDEDMETISLIBRARYPATH=“
-DUSER” PROVIDEDMETISINCLUDEPATH=“-DUSER ” PROVIDEDIMPILIBILP64PATH=“-DUSER ” CCOMPILER=“-DCMAKE ” FortranCOMPILER=“-DCMAKE ” ROOT=“-DBOOST ” -DMUMPSUPSTREAMVERSION="mumps sources version" - AOCL dependencies can also be configured using AOCLROOT. Define the environment variable AOCLROOT to point to AOCL libs installation
set "AOCL_ROOT=C:\Program Files\AMD\AOCL-Windows"cmake S . -B ninja_build_dir -G "Ninja" -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX="</mumps/install/path>" -Dscotch=ON -Dopenmp=ON -DBUILD_SHARED_LIBS=OFF -Dparallel=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DUSER_PROVIDED_METIS_LIBRARY_PATH="<path/to/metis/library/path>" -DUSER_PROVIDED_METIS_INCLUDE_PATH="<path/to/metis/include/path>" -DUSER_PROVIDED_IMPILIB_ILP64_PATH=“<path/to/intel/mpi/lib/ilp64>” -DCMAKE_C_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2021.3.0/windows/bin/intel64/icl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2021.3.0/windows/bin/intel64/icl.exe" -DCMAKE_Fortran_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2021.3.0/windows/bin/intel64/ifort.exe" -DBOOST_ROOT="<path/to/boost_1_77_0>" -Dintsize64=OFF -DMUMPS_UPSTREAM_VERSION="<mumps_src_version>" Toggle/Edit above options to get
- Debug or Release build
- LP64 or ILP64 libs
Build the project
cmake --build ninja_build_dir --verboseRun the executable at ninjabuilddir\test
mpiexec -env I_MPI_PIN_DOMAIN cache3 -n 2 amd_mumps_aocl LFAT5.mtx 1 1 1Note
Cmake Build system will download latest Mumps tar ball by default and proceed with configuration and build generation
Currently Metis Reordering is tested. Disabling the option "-Dscotch=OFF" would enable Mumps's internal reordering. Set the appropriate init parameter before calling MUMPS API in the linking test code
Following MUMPS Versions are supported: 5.5.1, 5.6.0, 5.6.1, 5.6.2, 5.7.0, 5.7.1, 5.7.2, and 5.7.3
Refer to cmake/presets/README.md for instructions on how to build using presets
Owner
- Name: AMD
- Login: amd
- Kind: organization
- Email: dl.DevSecOps-Github-Admin@amd.com
- Website: http://www.amd.com
- Repositories: 56
- Profile: https://github.com/amd
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
- Create event: 2
- Issues event: 2
- Release event: 2
- Watch event: 4
- Issue comment event: 2
- Member event: 1
- Push event: 2
- Fork event: 1
Last Year
- Create event: 2
- Issues event: 2
- Release event: 2
- Watch event: 4
- Issue comment event: 2
- Member event: 1
- Push event: 2
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Michael Hirsch | s****n | 133 |
| “vchunchu” | V****a@a****m | 15 |
| vchunchu | v****u@a****m | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
Dependencies
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v3 composite