{"id":28320235,"url":"https://github.com/amd/mumps-build","last_synced_at":"2026-01-27T00:12:41.857Z","repository":{"id":70008693,"uuid":"434541110","full_name":"amd/mumps-build","owner":"amd","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-09T04:02:08.000Z","size":307,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-04T19:02:23.835Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null}},"created_at":"2021-12-03T09:38:14.000Z","updated_at":"2025-05-09T03:58:52.000Z","dependencies_parsed_at":"2025-04-10T16:51:30.594Z","dependency_job_id":"fcf8c2c2-55b0-4331-a36d-4d21bb0ea353","html_url":"https://github.com/amd/mumps-build","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/amd/mumps-build","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amd%2Fmumps-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amd%2Fmumps-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amd%2Fmumps-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amd%2Fmumps-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amd","download_url":"https://codeload.github.com/amd/mumps-build/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amd%2Fmumps-build/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28792646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T21:49:50.245Z","status":"ssl_error","status_checked_at":"2026-01-26T21:48:29.455Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-25T10:08:39.806Z","updated_at":"2026-01-27T00:12:41.827Z","avatar_url":"https://github.com/amd.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MUMPS sparse solver\r\n\r\nWe avoid distributing extracted MUMPS sources ourselves--instead CMake will download the tarfile and extract, then we inject the CMakeLists.txt and build.\r\n\r\nCMake:\r\n\r\n* builds MUMPS in parallel 10x faster than the Makefiles\r\n* allows easy reuse of MUMPS in external projects via CMake FetchContent\r\n\r\n## Prerequisites\r\n1. 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\"\r\n\ta. Latest Ninja Binary at https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip\r\n1. 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)\r\n2. Prebuilt AOCL libraries for BLAS, LAPACK and Scalapack\r\n\ta. 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.\r\n\t\t1. Choose MT Shared libraries for AOCL-BLAS: AOCL-LibBlis-Win-MT-dll.lib and AOCL-LibBlis-Win-MT-dll.dll\r\n\t\t2. Shared libraries for AOCL-LAPACK: AOCL-LibFlame-Win-MT-dll.lib and AOCL-LibFlame-Win-MT-dll.dll\r\n\tb. LP64/ILP64 libraries of the dependent libraries (AOCL-BLAS, AOCL-LAPACK and Scalapack) need to be linked with the corresponding Mumps LP64/ILP64 builds\r\n\r\n3. 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. \r\n\ta. cd SuiteSparse\\metis-5.1.0\r\n\tb. Define IDXTYPEWIDTH and REALTYPEWIDTH to 32/64 based on integer size required in metis/include/metis.h\r\n\tc. Configure \r\n\t\t```\r\n\t\tcmake S . -B ninja_build_dir -G \"Ninja\" -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON\r\n\t\t```\r\n\td. Build the project\t\t\r\n\t\t```\r\n\t\tcmake --build ninja_build_dir --verbose\t\r\n\t\t```\t\r\n\t3. Library metis.lib should be generated at ninja_build_dir\\lib\r\n5. Boost libraries on windows\r\n\ta. Required to read mtx files efficiently and quickly\r\n\tb. Needed for aocl_amd.cpp test application that links to Mumps libraries and measure performance for a SPD .mtx file\t\r\n\tc. Download sources and bootstrap as instructed in https://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html\t\r\n\td. Define BOOST_ROOT in tests/CMakeLists.txt\r\n\r\n## Build\r\n1. Open Intel oneAPI command prompt for Intel 64 for Visual Studio 2019 from Windows Search box\r\n2. Configure Mumps Project using Ninja:\r\n\t```\r\n\tcmake S . -B ninja_build_dir -G \"Ninja\" -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=\"\u003c/mumps/install/path\u003e\" -Dscotch=ON -Dopenmp=ON -DBUILD_SHARED_LIBS=OFF -Dparallel=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DUSER_PROVIDED_BLIS_LIBRARY_PATH=\"\u003cpath/to/blis/library/path\u003e\" -DUSER_PROVIDED_BLIS_INCLUDE_PATH=\"\u003cpath/to/blis/headers/path\u003e\" -DUSER_PROVIDED_LAPACK_LIBRARY_PATH=\"\u003cpath/to/lapack/library/path\u003e\" -DUSER_PROVIDED_LAPACK_INCLUDE_PATH=\"\u003cpath/to/lapack/headers/path\u003e\" -DUSER_PROVIDED_SCALAPACK_LIBRARY_PATH=\"\u003cpath/to/scalapack/library/path\u003e\" -DUSER_PROVIDED_METIS_LIBRARY_PATH=\"\u003cpath/to/metis/library/path\u003e\" -DUSER_PROVIDED_METIS_INCLUDE_PATH=\"\u003cpath/to/metis/include/path\u003e\" -DUSER_PROVIDED_IMPILIB_ILP64_PATH=“\u003cpath/to/intel/mpi/lib/ilp64\u003e” -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=\"\u003cpath/to/boost\u003e\" -Dintsize64=OFF -DMUMPS_UPSTREAM_VERSION=\"\u003cmumps_src_version\u003e\"\r\n\t```\r\n\tFollowing options are enabled in the command:\r\n\t-DBUILD_TESTING=ON\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable Mumps linking to test application to test\u003e\r\n\t-Dscotch=OFF \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable Scotch Library for Reordering\u003e\r\n    -Dparmetis=OFF \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable parmetis Library for Reordering\u003e\r\n    -Dmetis=ON \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable Metis Library for Reordering\u003e\r\n\t-Dopenmp=ON \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable Multithreading using openmp\u003e\r\n\t-Dintsize64=OFF \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable LP64 i.e., 32 bit integer size\u003e\r\n\t-DBUILD_SHARED_LIBS=OFF \t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable Static Library\u003e\r\n\t-Dparallel=ON \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable Multithreading\u003e\r\n\t-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \t\t\t\t\t\t\t\t\t\t\t\u003cEnable verbose build log\u003e\r\n\t-DCMAKE_BUILD_TYPE=Release \t\t\t\t\t\t\t\t\t\t\t\t\t\u003cEnable Release build\u003e\r\n\t-DUSER_PROVIDED_BLIS_LIBRARY_PATH=“\u003cpath/to/blis/lib/path\u003e”\t\t\t\t\t\u003cpath to AOCL-BLAS library\u003e\r\n\t-DUSER_PROVIDED_BLIS_INCLUDE_PATH=“\u003cpath/to/blis/include/header\u003e”\t\t\t\u003cpath to AOCL-BLAS's Include header\u003e\r\n\t-DUSER_PROVIDED_LAPACK_LIBRARY_PATH=“\u003cpath/to/lapack/lib/path\u003e”\t\t\t\t\u003cpath to AOCL-LAPACK library\u003e\r\n\t-DUSER_PROVIDED_LAPACK_INCLUDE_PATH=“\u003cpath/to/lapack/include/header\u003e”\t\t\u003cpath to AOCL-LAPACK's Include header\u003e\r\n\t-DUSER_PROVIDED_SCALAPACK_LIBRARY_PATH=“\u003cpath/to/scalapack/lib/path\u003e”\t\t\u003cpath to AOCL built Scalapack library\u003e\t\r\n\t-DUSER_PROVIDED_METIS_LIBRARY_PATH=“\u003cpath/to/metis/lib\u003e”\t\t\t\t\t\u003cpath to Metis library\u003e\r\n\t-DUSER_PROVIDED_METIS_INCLUDE_PATH=“\u003cpath/to/metis/header\u003e”\t\t\t\t\t\u003cpath to Metis Include header\u003e\r\n\t-DUSER_PROVIDED_IMPILIB_ILP64_PATH=“\u003cpath/to/intel/mpi/lib/ilp64\u003e”\t\t\t\u003cpath to Intel's ILP64 MPI library\u003e\r\n\t-DCMAKE_C_COMPILER=“\u003cpath/to/intel c compiler\u003e”\t\t\t\t\t\t\t\t\u003cpath to Intel C Compiler\u003e\r\n\t-DCMAKE_Fortran_COMPILER=“\u003cpath/to/intel fortran compiler\u003e”\t\t\t\t\t\u003cpath to Intel Fortran Compiler\u003e\r\n\t-DBOOST_ROOT=“\u003cpath/to/BOOST/INSTALLATION\u003e”\t\t\t\t\t\t\t\t\t\u003cpath to Boost libraries/headers\u003e\r\n\t-DMUMPS_UPSTREAM_VERSION=\"mumps sources version\"\t\t\t\t\t\t\t\u003cmumps src tarball versions. Tested for 5.5.1, 5.6.0, 5.6.1, 5.6.2, 5.7.0, 5.7.1, 5.7.2, 5.7.3\u003e\r\n3. AOCL dependencies can also be configured using AOCL_ROOT. Define the environment variable AOCL_ROOT to point to AOCL libs installation\r\n\t```\r\n\tset \"AOCL_ROOT=C:\\Program Files\\AMD\\AOCL-Windows\"\r\n\t```\r\n\t```\r\n\tcmake S . -B ninja_build_dir -G \"Ninja\" -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=\"\u003c/mumps/install/path\u003e\" -Dscotch=ON -Dopenmp=ON -DBUILD_SHARED_LIBS=OFF -Dparallel=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DUSER_PROVIDED_METIS_LIBRARY_PATH=\"\u003cpath/to/metis/library/path\u003e\" -DUSER_PROVIDED_METIS_INCLUDE_PATH=\"\u003cpath/to/metis/include/path\u003e\" -DUSER_PROVIDED_IMPILIB_ILP64_PATH=“\u003cpath/to/intel/mpi/lib/ilp64\u003e” -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=\"\u003cpath/to/boost_1_77_0\u003e\" -Dintsize64=OFF -DMUMPS_UPSTREAM_VERSION=\"\u003cmumps_src_version\u003e\"\r\n\t```\r\n4. \tToggle/Edit above options to get\r\n\t1. Debug or Release build\r\n\t2. LP64 or ILP64 libs\r\n\t\r\n5. Build the project\r\n\t```\r\n\tcmake --build ninja_build_dir --verbose\r\n\t```\r\n6. Run the executable at ninja_build_dir\\test\r\n\t```\r\n\tmpiexec -env I_MPI_PIN_DOMAIN cache3 -n 2 amd_mumps_aocl LFAT5.mtx 1 1 1\r\n\t```\r\n## Note\r\n1. Cmake Build system will download latest Mumps tar ball by default and proceed with configuration and build generation\r\n2. 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\r\n3. 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\r\n4. Refer to cmake/presets/README.md for instructions on how to build using presets\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famd%2Fmumps-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famd%2Fmumps-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famd%2Fmumps-build/lists"}