Recent Releases of mumps
mumps - CMake >= 3.20: Scalapack find/build more robust
Changes to MUMPS and Scalapack to work in more situations correctly.
Require CMake >= 3.20 (and test 3.20 in CI) to help packaging robustness across platforms.
- CMake
Published by scivision almost 2 years ago
mumps - MUMPS 5.7.3 upstream. MUMPS_parallel option
option parallel (default on) is now option MUMPS_parallel
MUMPS upstream 5.7.3
Full Changelog: https://github.com/scivision/mumps/compare/v5.7.2.0...v5.7.3.0
- CMake
Published by scivision almost 2 years ago
mumps - Upstream MUMPS 5.7.2. MKL detection improvements, C++ bugfix
correct Scalapack Git commit hash for scalapack build
BUGFIX for macOS with Clang, and other case-insensitive systems with C++ main programs using MUMPS via FetchContent or as Git submodule with add_subdirectory():
include ${mumps_SOURCE_DIR}/src, NOT ${mumps_SOURCE_DIR} to avoid MUMPS top-level file VERSION breaking build.
This was triggered when macOS Xcode headers became C++20 default.
- CMake
Published by scivision almost 2 years ago
mumps - MUMPS 5.7.1. General build system fixes
- also works with Visual Studio generator now. We separated C and Fortran targets to do this. Thanks for idea @dariomangoni
- corrected CMake logic for various cases and added CI case thanks @dariomangoni for pointing problems out and suggestions
- CMake
Published by scivision about 2 years ago
mumps - Upstream MUMPS 5.7.0. Correct intsize64 for non-oneAPI. Arbitrary upstream version
- Default MUMPS upstream 5.7.0. See MUMPS User guide for various improvements.
- MUMPS 5.7.0 allows build without Scalapack
cmake -Dscalapack=no - Correct
intsize64=onfor non-oneAPI. Requires ALL libraries including MPI be compiled for 64-bit. - Arbitrary MUMPSUPSTREAMVERSION download from mumps-solver.org
- CMake
Published by scivision about 2 years ago
mumps - bugfixes, store MUMPS source outside of build dir
store upstream source outside of build directory -- allows flipping between MUMPS versions without redownloading source each time, which can be quite slow due to server / internet bandwidth
remove MUMPS source code download timeout
remove GNU Octave to save maintenance burden
test: use TEST_LAUNCHER (better practice in CMake)
tests default on if top level project
bugfix: GEMMT: was broken several months ago, now fixed
- CMake
Published by scivision about 2 years ago
mumps - FindSCALAPACK: Correct Lapack alias with MKL
- CMake
Published by scivision over 2 years ago
mumps - user-set CMAKE_TLS_VERIFY (default on)
- allow user-set CMAKETLSVERIFY (default on)
- scalapack v2.2.1.6 (autobuild lapack if needed)
- CMake
Published by scivision over 2 years ago
mumps - MUMPS 5.6.2. Autobuild scalapack if missing.
Ease building for users by auto-building Scalapack if missing.
- CMake
Published by scivision over 2 years ago
mumps - CMake >= 3.19 required. Improve Find[SCA]LAPACK with MKL
For those using MKL match library to provide LAPACK and SCALAPACK, we now use Intel's MKLConfig.cmake as recommended. For those using MKL, MKL 2021.3 or newer is required.
CMake >= 3.19 required to avoid vendoring so much much code and to remove workaround logic.
- CMake
Published by scivision over 2 years ago
mumps - Cmake default run path
use Cmake defaults for run path, thanks @gkaf89
This can be relevant for shared builds, where the user should set run path in the executable if defaults aren't sufficient.
- CMake
Published by scivision almost 3 years ago
mumps - MUMPS 5.6.1 upstream, add OpenBLAS, parMETIS
MUMPS Upstream 5.6.1 is now default, along with several build system enhancements:
- download unmodified MUMPS sources from mumps-solver.org, which is much faster and more reliable than the historical France-based MUMPS server that used to go down for hours or days. I didn't use Zenodo for this release, assuming mumps-solver.org stays reliable and fast.
- Support OpenBLAS with
cmake -DLAPACK_VENDOR=OpenBLASas well as several other vendors in Readme_LAPACK - add parMETIS support, and document Scotch and METIS, any of which can be used independently as in Readme_ordering
- GCC uses "-fno-strict-aliasing" to avoid MUMPS memory leaks @TarcisioLOliveira
CI: added OpenBLAS test
Contributors include:
@gkaf89 @adam-sim-dev @TarcisioLOliveira
- CMake
Published by scivision almost 3 years ago
mumps - correct install meta and cleanup internals
- correctly publish installed precisions
- put internal-use MUMPS Fortran modules files and include them
- GEMMT: handle flags more precisely
- CMake
Published by scivision over 3 years ago
mumps - CMake: if-foreach instead of configure_file and generator
For clarity, in CMake, use if-foreach instead of configurefile and generator for clarity. For build specification, use include(*.cmake) instead of configurefile(COPYONLY) for clarity. Add scripts/testmumps_versions.cmake for simple build testing across MUMPS Upstream versions. Add multiple Readmes with additional info, particularly for oneAPI on Windows Require CMake >= 3.14 for install robustness
- CMake
Published by scivision over 3 years ago
mumps - Scotch or METIS options and example
Make Scotch and METIS work independently and add 64-bit option for each to build script that must match MUMPS.
- CMake
Published by scivision over 3 years ago
mumps - lapack-like precision spec, use original lapack if desired
- instead of arith=, use BUILDSINGLE, BUILDDOUBLE etc like Lapack
- FindMUMPS: check for scalapack with threads for mpi
- CMake
Published by scivision over 3 years ago
mumps - fix Scotch link, add Scotch build script, add [sca]lapack static find option, Zenodo source host
FindMUMPS: add Scotch, OpenMP components instead of always searching for them
add find_static option to force finding static lapack/scalapack (default off)
remove defunct MUMPS source code server, latest version add Zenodo url for more reliable source code download.
example: add complex64 C example
add script to build Metis, Scotch if desired
bugfix:packaging: use MUMPSScotchFOUND and MUMPSOpenMPFOUND
ci: add scotch build test case
- CMake
Published by scivision over 3 years ago
mumps - GEMMT default, bugfix with MKL
- Use GEMMT by default for symmetrix matrix-matrix multiplication, if available (e.g. Intel MKL)
- For 64-bit with MKL (MKL64), link "mpi_ilp64" as well in FindScalapack
- MKL with OpenMP: correct bug that stopped it from building.
- Cray: don't set compiler tune options, regardless of compiler
- CMake
Published by scivision over 3 years ago
mumps - improve packaging, correct parallel=no case
- improve CMake packaging for
cmake --install - simplify example/
- add intsize64 testing to Intel oneAPI
- correct bug introduced in v5.5.1.1 for parallel=no
fixes #36
- CMake
Published by scivision almost 4 years ago
mumps - work with MPICH, Visual Studio. Add Windows oneAPI CI
- CMake
Published by scivision almost 4 years ago
mumps - MUMPS 5.5.1
- default new MUMPS v5.5.1
- functionalize test CMake
- package publishes MUMPSHAVEScotch, MUMPSHAVEOPENMP
- remove unused preset
- consolidate CI intsize64 test
- download with HTTPS where possible
- CMake
Published by scivision almost 4 years ago
mumps - correct packaging, enhance find
Thanks to @Rickbude for correcting CMake package install filenames. This allows MUMPS to be more easily found as built and CMake installed by this repo.
Corrected/enhanced tests for Lapack and Scalapack to help ensure they are working with the compilers used.
- CMake
Published by scivision almost 4 years ago
mumps - intsize64 with IntelMPI works, cross-compile no native
Thanks to @vchunchu-amd in #10 , MUMPS now works with intsize64=true with these setups
- GCC + OpenMPI/MPICH (worked previously)
- GCC + IntelMPI
- Intel oneAPI + IntelMPI
Only apply -mtune=native or -xHost if cross-compiling is NOT detected
General cleanup of CMake build scripts
- CMake
Published by scivision almost 4 years ago
mumps - build/patch enhanced
- Default MUMPSUPSTREAMVERSION again 5.4.1.11
- Improved patching thanks to @Baljak
- improved find*
- improved shared build Rpath
- improved test/example link
- consolidated CI jobs
- CMake
Published by scivision about 4 years ago
mumps - MUMPS 5.3.5 default, CMake >= 3.19
Due to waiting for updated MUMPS upstream and corner cases with patching existing 5.4 on Windows, fallback to default MUMPS 5.3.5.
Works with CMake >= 3.19. Going to CMake older that that would require substantial effort.
Fixes #20
- CMake
Published by scivision over 4 years ago
mumps - Patch MUMPS 5.4.1 more effectively
Use addcustomcommand() to patch MUMPS 5.4.1 more effectively. For Windows users, the patch tries MSYS2 and then WSL. Use older MUMPS if GNU Patch isn't available on your system like:
sh
cmake -B build "-DMUMPS_UPSTREAM_VERSION=5.3.5"
- CMake
Published by scivision over 4 years ago
mumps - flatten install dirs, don't override cache var _external, cache MUMPS source
- CMake
Published by scivision over 4 years ago
mumps - MUMPS_UPSTREAM_VERSION option, shared builds
- shared build option, selected as usual via
cmake -DBUILD_SHARED_LIBS=onmay work better. Static is as usual the default - MUMPSUPSTREAMVERSION is selectable from those listed in cmake/libraries.json. Since the download sites are non-HTTPS, we require a SHA256 hash. We have versions from MUMPS 4.8 to 5.4 known to work, at least via casual check.
- CMake
Published by scivision over 4 years ago
mumps - Improving intsize64
cmake -Dintsize64=yes works better now--crashes at runtime are reduced. Only setup I know to work is plain GCC. GCC + MKL does not work (runtime segfault). Intel compiler also segfaults with intsize64=yes
General build and test improvements
- CMake
Published by scivision over 4 years ago
mumps - enhance patch, fix Intel options
- correct Intel compiler option (no spaces)
- enhance "patch" to not error if for some reason header was already patched.
- CMake
Published by scivision over 4 years ago
mumps - Default build type Release
also increased MUMPS patch timeout, as under heavy parallel build and slow disk, it could timeout during patch
Release build runs faster than debug, so make release default for non multi-config
- CMake
Published by scivision over 4 years ago
mumps - MUMPS 5.4 default again, patches mumps_io.h
Per MUMPS devs, patch mumps_io.h for MUMPS 5.4.0 and 5.4.1 Fixes #9
CI: add Intel oneAPI
FindScalapack: also look for optional libblacs--many systems have BLACS inside libscalapack, but some have BLACS as separate file.
- CMake
Published by scivision over 4 years ago
mumps - upstream revert to MUMPS 5.3 due to 5.4 bug for win32
Mumps 5.4 series doesn't work with Windows and Intel/MSVC compiler. As a result, emailed upstream devs and revert this "main" Git CMake branch to 5.3.5 MUMPS for now.
- added ability to switch MUMPS version to known versions in cmake/libraries.json via MUMPSUPSTREAMVERSION variable
- added examples to tests and simplified their scripting
- CMake: use modern practices with per-language addcompileoptions generator expressions
- CMake
Published by scivision over 4 years ago
mumps - MUMPS 5.4.1
upstream 5.4.1 release http://mumps.enseeiht.fr/index.php?page=dwnld#cl
- CMake
Published by scivision almost 5 years ago
mumps - further enhance FindMPI robustness across platforms
- CMake
Published by scivision almost 5 years ago
mumps - FindMPI improvements
Improve reliability of FindMPI and default to real32,real64 build to save time.
- CMake
Published by scivision almost 5 years ago
mumps - scalapack 2.1.0.23, lapack 3.10.0.0
also improved find*.cmake
- CMake
Published by scivision almost 5 years ago
mumps - FetchContent bugfix: don't override top project install prefix
For those using Mumps via FetchContent from their top project, Mumps no longer overrides the top level project install prefix.
Thanks to @PuneetMatharu for letting us know of this issue
- CMake
Published by scivision almost 5 years ago
mumps - Improved FindMPI, bugfix scalapack
- improved FindMPI, particularly for MPICH
- for those building scalapack, corrected bug in its build that make link failures
- CMake
Published by scivision almost 5 years ago
mumps - corrected scalapack
corrected missing scalapack source file--relevant for autobuild error with complex32
- CMake
Published by scivision almost 5 years ago
mumps - lapack 3.9.1, suppress scalapack warning
use lapack 3.9.1 if auto-building lapack
Scalapack issues a lot of warnings on modern compilers. Per #5, we suppress some of those warnings when autobuilding scalapack, which previously could have caused an issue when consumed by external projects with stricter flags
- CMake
Published by scivision almost 5 years ago
mumps - New, cleaner approach to CMake build
Previously, we extracted the MUMPS tarball and put CMake in. This was time-consuming and human error-prone. Our new approach is to at build-time on the user's computer, auto-download the MUMPS source tarball and inject CMake into the extracted source. This is much less time consuming and provides higher confidence to the user that authentic MUMPS source is being used.
- CMake
Published by scivision about 5 years ago