From f426b846d444037104b22c751c93c4a61af3758c0e4b3510846f898468bd7c1d Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Fri, 26 Feb 2021 14:18:21 +0000 Subject: [PATCH] Accepting request 875060 from home:mslacken:branches:science - updated to version 5.3.5, changes are * Fixed 2x2 pivots bug from 5.3.4 release in MPI LDLT factorization * Fixed ICNTL(8)=-2 option during analysis (code and documentation) * Fixed a rare bug (segfault) related to dynamic storage management on numerically difficult matrices * Fixed a rare deadlock in BLR for symmetric matrices * Fixed an uninitialized variable (which could lead to incorrect -19 error) * Minor fix in userguide (CNTL(1) vs. ICNTL(1) in ICNTL(36) description) * Fixed a possible runtime issue during solve, related to "TO_PROCESS" array * Assume ilp64 MPI interface only applies to Fortran in c_example.c * Note on gfortran-10 compilation added * Avoid intent on pointers (F2003-only) * More robust multithreading for matrix reformatting (arrowheads) * Fixed ICNTL(31) interpretation in case of repeated analysis * Fixed multiple mpif.h inclusion (distributed rhs, ifort+openmpi) * Fixed computation of effectively used memory statistics * Improved multithreaded performance of BLR backward solve * Fixed return code in build_mumps_int_def.c + openmp compilation (pgi) * Forbid a loop vectorization in [sdcz]sol_c.F (segfault with ifort) * New feature: distributed right-hand sides * Improved time for arrowheads construction (single MPI case, mainly) * C interface: ability to know if MUMPS_INT is 64-bit from include file * Improved BLR performance when CNTL(1)=0.0 and ICNTL(36)=1 * Fixed INFO(34),INFO(35),INFO(37),INFO(38) on processes with rank > 0 * More portable MPI_IS_IN_PLACE feature in libseq * Fixed determinant computation when Cholesky ScaLapack is used * Information on advancement (flops done) on each MPI process * Allow rhs_sparse and irhs_sparse to be unassociated if nz_rhs=0 * Fixed INFO(30) and INFO(31) computation on MPI processes with rank > 0 * OMP collapsed loops: avoid FIRSTPRIVATE on internal loop bound (for pgi) * Fix for compilers not freeing local allocatable arrays (64-bit metis) OBS-URL: https://build.opensuse.org/request/show/875060 OBS-URL: https://build.opensuse.org/package/show/science/mumps?expand=0&rev=55 --- ...plat-mommond_mod-for-parallel-builds.patch | 92 ------------------- mumps-5.2.1.tar.gz | 3 - mumps-5.3.5.tar.gz | 3 + mumps.changes | 42 +++++++++ mumps.spec | 21 ++--- 5 files changed, 55 insertions(+), 106 deletions(-) delete mode 100644 Makefiles-Serialize-libseq-libplat-mommond_mod-for-parallel-builds.patch delete mode 100644 mumps-5.2.1.tar.gz create mode 100644 mumps-5.3.5.tar.gz diff --git a/Makefiles-Serialize-libseq-libplat-mommond_mod-for-parallel-builds.patch b/Makefiles-Serialize-libseq-libplat-mommond_mod-for-parallel-builds.patch deleted file mode 100644 index fdf3e24..0000000 --- a/Makefiles-Serialize-libseq-libplat-mommond_mod-for-parallel-builds.patch +++ /dev/null @@ -1,92 +0,0 @@ -From: Egbert Eich -Date: Sun Feb 10 17:16:51 2019 +0100 -Subject: Makefiles: Serialize libseq, libplat, mommond_mod for parallel builds -Patch-mainline: Not yet -Git-commit: d8e18ae193f2fd67761c8226a3ad9bcf80d4230c -References: - -Signed-off-by: Egbert Eich ---- - Makefile | 17 ++++++++++------- - src/Makefile | 10 ++++++---- - 2 files changed, 16 insertions(+), 11 deletions(-) -diff --git a/Makefile b/Makefile -index 4636e85..489753b 100644 ---- a/Makefile -+++ b/Makefile -@@ -9,18 +9,18 @@ default: dexamples - - .PHONY: default alllib all c z s d \ - sexamples dexamples cexamples zexamples multi_example \ -- mumps_lib requiredobj libseqneeded clean -+ mumps_lib common requiredobj libseqneeded clean - - alllib: c z s d - all: cexamples zexamples sexamples dexamples multi_example - --c: -+c: requiredobj - $(MAKE) ARITH=c mumps_lib --z: -+z: requiredobj - $(MAKE) ARITH=z mumps_lib --s: -+s: requiredobj - $(MAKE) ARITH=s mumps_lib --d: -+d: requiredobj - $(MAKE) ARITH=d mumps_lib - - -@@ -36,7 +36,10 @@ Makefile.inc: - - include Makefile.inc - --mumps_lib: requiredobj -+common: -+ (cd src ; $(MAKE) common) -+ -+mumps_lib: - (cd src ; $(MAKE) $(ARITH)) - - cexamples: c -@@ -54,7 +57,7 @@ dexamples: d - multi_example: s d c z - (cd examples ; $(MAKE) multi) - --requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) -+requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) common - - # dummy MPI library (sequential version) - -diff --git a/src/Makefile b/src/Makefile -index 88fc032..5a3c6e2 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -12,13 +12,13 @@ default: d - - .PHONY: default s d c z mumps_lib clean - --s: -+s: common - $(MAKE) ARITH=s mumps_lib --d: -+d: common - $(MAKE) ARITH=d mumps_lib --c: -+c: common - $(MAKE) ARITH=c mumps_lib --z: -+z: common - $(MAKE) ARITH=z mumps_lib - - include $(topdir)/Makefile.inc -@@ -78,6 +78,8 @@ - tools_common.o \ - sol_common.o - -+common: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) -+ - OBJS_MOD = \ - $(ARITH)ana_aux.o \ - $(ARITH)ana_aux_par.o \ diff --git a/mumps-5.2.1.tar.gz b/mumps-5.2.1.tar.gz deleted file mode 100644 index aafc2fe..0000000 --- a/mumps-5.2.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d988fc34dfc8f5eee0533e361052a972aa69cc39ab193e7f987178d24981744a -size 3831942 diff --git a/mumps-5.3.5.tar.gz b/mumps-5.3.5.tar.gz new file mode 100644 index 0000000..11a49d6 --- /dev/null +++ b/mumps-5.3.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5d665fdb7043043f0799ae3dbe3b37e5b200d1ab7a6f7b2a4e463fd89507fa4 +size 3940501 diff --git a/mumps.changes b/mumps.changes index d189e74..a03fef3 100644 --- a/mumps.changes +++ b/mumps.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Thu Feb 25 09:48:50 UTC 2021 - Christian Goll + +- updated to version 5.3.5, changes are + * Fixed 2x2 pivots bug from 5.3.4 release in MPI LDLT factorization + * Fixed ICNTL(8)=-2 option during analysis (code and documentation) + * Fixed a rare bug (segfault) related to dynamic storage management on numerically difficult matrices + * Fixed a rare deadlock in BLR for symmetric matrices + * Fixed an uninitialized variable (which could lead to incorrect -19 error) + * Minor fix in userguide (CNTL(1) vs. ICNTL(1) in ICNTL(36) description) + * Fixed a possible runtime issue during solve, related to "TO_PROCESS" array + * Assume ilp64 MPI interface only applies to Fortran in c_example.c + * Note on gfortran-10 compilation added + * Avoid intent on pointers (F2003-only) + * More robust multithreading for matrix reformatting (arrowheads) + * Fixed ICNTL(31) interpretation in case of repeated analysis + * Fixed multiple mpif.h inclusion (distributed rhs, ifort+openmpi) + * Fixed computation of effectively used memory statistics + * Improved multithreaded performance of BLR backward solve + * Fixed return code in build_mumps_int_def.c + openmp compilation (pgi) + * Forbid a loop vectorization in [sdcz]sol_c.F (segfault with ifort) + * New feature: distributed right-hand sides + * Improved time for arrowheads construction (single MPI case, mainly) + * C interface: ability to know if MUMPS_INT is 64-bit from include file + * Improved BLR performance when CNTL(1)=0.0 and ICNTL(36)=1 + * Fixed INFO(34),INFO(35),INFO(37),INFO(38) on processes with rank > 0 + * More portable MPI_IS_IN_PLACE feature in libseq + * Fixed determinant computation when Cholesky ScaLapack is used + * Information on advancement (flops done) on each MPI process + * Allow rhs_sparse and irhs_sparse to be unassociated if nz_rhs=0 + * Fixed INFO(30) and INFO(31) computation on MPI processes with rank > 0 + * OMP collapsed loops: avoid FIRSTPRIVATE on internal loop bound (for pgi) + * Fix for compilers not freeing local allocatable arrays (64-bit metis) + * Fixed RINFO(5-6) and RINFOG(15-16) metrics (entries=>bytes) + * C interface: A_ELT/SCHUR/RHS/REDRHS/RHS_loc/SOL_loc may exceed 2^31 entries + * Local Schur (ICNTL(19)=2 or 3) may now exceed 2^31 entries + * Fixed internal dynamic storage of blocks with more than 2^31 entries + * Fixed a bug in the parallel analysis that limited scalability + +- removed Makefiles-Serialize-libseq-libplat-mommond_mod-for-parallel-builds.patch + * functionaltiy is included upstream + ------------------------------------------------------------------- Fri Feb 5 20:31:13 UTC 2021 - Egbert Eich diff --git a/mumps.spec b/mumps.spec index 947562a..eb6aad5 100644 --- a/mumps.spec +++ b/mumps.spec @@ -19,7 +19,7 @@ %global flavor @BUILD_FLAVOR@%{nil} %define pname mumps -%define ver 5.2.1 +%define ver 5.3.5 %define so_ver 5 %define openblas_vers 0.3.6 %global _lto_cflags %{_lto_cflags} -ffat-lto-objects @@ -181,7 +181,7 @@ ExclusiveArch: do_not_build # macro mpi is used by macros for master package %global mpi_family mvapich2 %define mumps_f77_mpilibs -lfmpich -lmpich -%undefine mpi_ver +%undefine mpi_ver %bcond_without hpc %endif @@ -236,7 +236,7 @@ ExclusiveArch: do_not_build # macro mpi is used by macros for master package %global mpi_family mvapich2 %define mumps_f77_mpilibs -lfmpich -lmpich -%undefine mpi_ver +%undefine mpi_ver %bcond_without hpc %endif @@ -291,7 +291,7 @@ ExclusiveArch: do_not_build # macro mpi is used by macros for master package %global mpi_family mvapich2 %define mumps_f77_mpilibs -lfmpich -lmpich -%undefine mpi_ver +%undefine mpi_ver %bcond_without hpc %endif @@ -346,7 +346,7 @@ ExclusiveArch: do_not_build # macro mpi is used by macros for master package %global mpi_family mvapich2 %define mumps_f77_mpilibs -lfmpich -lmpich -%undefine mpi_ver +%undefine mpi_ver %bcond_without hpc %endif @@ -401,7 +401,7 @@ ExclusiveArch: do_not_build # macro mpi is used by macros for master package %global mpi_family mvapich2 %define mumps_f77_mpilibs -lfmpich -lmpich -%undefine mpi_ver +%undefine mpi_ver %bcond_without hpc %endif @@ -421,7 +421,7 @@ ExclusiveArch: do_not_build %{?mpi_family:%{bcond_without mpi}}%{!?mpi_family:%{bcond_with mpi}} -# openmpi 1 was called just "openmpi" in Leap 15.x/SLE15 +# openmpi 1 was called just "openmpi" in Leap 15.x/SLE15 %if 0%{?suse_version} >= 1550 || "%{mpi_family}" != "openmpi" || "%{mpi_ver}" != "1" %define mpi_ext %{?mpi_ver} %endif @@ -474,7 +474,6 @@ Release: 0 URL: http://mumps.enseeiht.fr/ Source0: http://mumps.enseeiht.fr/MUMPS_%{version}.tar.gz#/%{pname}-%{version}.tar.gz Source1: Makefile.inc -Patch1: Makefiles-Serialize-libseq-libplat-mommond_mod-for-parallel-builds.patch %if %{without hpc} BuildRequires: gcc-fortran %{?with_scotch:BuildRequires: %{scotch}%{?with_mpi:-%{mpi_family}%{?mpi_ext}}-devel} @@ -500,7 +499,6 @@ particular focus on symmetric positive definite matrices. It can operate on distributed matrices e.g. over a cluster. It has Fortran and C interfaces, and can interface with ordering tools such as Scotch. - %package -n %{libname} Summary: A MUltifrontal Massively Parallel Sparse direct Solver Group: System/Libraries @@ -657,7 +655,7 @@ matlab and scilab extensions are provided in /usr/share/doc/packages/mumps. %prep %setup -q -n %{PNAME}_%{version} -%patch1 -p1 +#%%patch1 -p1 %build @@ -739,7 +737,7 @@ make %{?_smp_mflags} alllib %{!?with_mpi:cp -P libseq/libmpiseq*.a lib/} -mkdir lib/tmp; cd lib/tmp; +mkdir lib/tmp; cd lib/tmp; %define LORDERINGS -lpord%{?PLAT} %{?scotch:-l%{scotch}} %if %{without mpi} rm -f *.o; ar -x ../libmpiseq%{?PLAT}.a @@ -850,6 +848,7 @@ rm -rf examples/*.o examples/*simpletest examples/*_save_restore examples/c_exam %post -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig %else + %post -n %{libname} /sbin/ldconfig -N %{my_libdir}