Compare commits

...

7 Commits

Author SHA1 Message Date
David Abdurachmanov 37a32c9f77
Properly check valgrind arches
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-04 11:34:52 +02:00
Antonio Trande 01bee9cb0e Move up patch #8 2024-02-08 18:23:19 +01:00
Antonio Trande 516bf1f343 Fix upstream bug #1542 2024-02-08 15:46:51 +01:00
Antonio Trande 0a53ef007c Patched for using metis64 2024-02-06 21:24:47 +01:00
Antonio Trande c7d7c3cdef Release 3.20.4 2024-02-06 20:06:07 +01:00
Fedora Release Engineering b8fdd7a92b Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 22:20:15 +00:00
Fedora Release Engineering 91ff691352 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 20:35:09 +00:00
5 changed files with 75 additions and 7 deletions

1
.gitignore vendored
View File

@ -66,3 +66,4 @@
/petsc-with-docs-3.20.0.tar.gz
/petsc-with-docs-3.20.1.tar.gz
/petsc-with-docs-3.20.2.tar.gz
/petsc-with-docs-3.20.4.tar.gz

View File

@ -20,3 +20,13 @@
if self.defaultIndexSize == 64:
msg= '--with-64-bit-indices option requires a metis build with IDXTYPEWIDTH=64.\n'
else:
--- a/src/mat/order/metisnd/metisnd.orig.c 2023-11-30 20:14:32.000000000 +0100
+++ b/src/mat/order/metisnd/metisnd.c 2024-02-06 21:21:38.011280520 +0100
@@ -1,6 +1,6 @@
#include <petscmat.h>
#include <petsc/private/matorderimpl.h>
-#include <metis.h>
+#include <metis64.h>
/*
MatGetOrdering_METISND - Find the nested dissection ordering of a given matrix.

View File

@ -0,0 +1,47 @@
From ab86aa04d4d69fee965a3829143bef835b6ec081 Mon Sep 17 00:00:00 2001
From: Satish Balay <balay@mcs.anl.gov>
Date: Tue, 6 Feb 2024 15:17:17 -0600
Subject: [PATCH] petsc64: use int64_t with mpiuni [in sync with metis]
---
include/petsc/mpiuni/mpi.h | 1 +
include/petscsystypes.h | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/petsc/mpiuni/mpi.h b/include/petsc/mpiuni/mpi.h
index ea27c6628f4..d51a924e089 100644
--- a/include/petsc/mpiuni/mpi.h
+++ b/include/petsc/mpiuni/mpi.h
@@ -229,6 +229,7 @@ typedef int MPI_Datatype;
#define MPI_INT8_T (5 << 20 | 1 << 8 | (int)sizeof(int8_t))
#define MPI_INT16_T (5 << 20 | 1 << 8 | (int)sizeof(int16_t))
#define MPI_INT32_T (5 << 20 | 1 << 8 | (int)sizeof(int32_t))
+#define MPI_INT64_T (5 << 20 | 1 << 8 | (int)sizeof(int64_t))
#define MPI_UNSIGNED_SHORT (5 << 20 | 1 << 8 | (int)sizeof(unsigned short))
#define MPI_UNSIGNED (5 << 20 | 1 << 8 | (int)sizeof(unsigned))
diff --git a/include/petscsystypes.h b/include/petscsystypes.h
index 86f7dba1c33..6e4d549bbe6 100644
--- a/include/petscsystypes.h
+++ b/include/petscsystypes.h
@@ -253,7 +253,7 @@ M*/
#endif
#endif
-#if defined(PETSC_HAVE_STDINT_H) && defined(PETSC_HAVE_INTTYPES_H) && defined(PETSC_HAVE_MPI_INT64_T) /* MPI_INT64_T is not guaranteed to be a macro */
+#if defined(PETSC_HAVE_STDINT_H) && defined(PETSC_HAVE_INTTYPES_H) && (defined(PETSC_HAVE_MPIUNI) || defined(PETSC_HAVE_MPI_INT64_T)) /* MPI_INT64_T is not guaranteed to be a macro */
typedef int64_t PetscInt64;
#define PETSC_INT64_MIN INT64_MIN
@@ -300,7 +300,7 @@ enum {
#define PETSC_MAX_INT PETSC_INT_MAX
#define PETSC_MAX_UINT16 65535
-#if defined(PETSC_HAVE_STDINT_H) && defined(PETSC_HAVE_INTTYPES_H) && defined(PETSC_HAVE_MPI_INT64_T) /* MPI_INT64_T is not guaranteed to be a macro */
+#if defined(PETSC_HAVE_STDINT_H) && defined(PETSC_HAVE_INTTYPES_H) && (defined(PETSC_HAVE_MPIUNI) || defined(PETSC_HAVE_MPI_INT64_T)) /* MPI_INT64_T is not guaranteed to be a macro */
#define MPIU_INT64 MPI_INT64_T
#define PetscInt64_FMT PRId64
#elif (PETSC_SIZEOF_LONG_LONG == 8)
--
GitLab

View File

@ -186,8 +186,10 @@
--with-sundials-include=%{_includedir} \\\
--with-sundials-lib="-lsundials_nvecserial -lsundials_cvode" \\\
%endif \
--with-pthread=1 \\\
--with-valgrind=1
%ifarch %{valgrind_arches} \
--with-valgrind=1 \\\
%endif \
--with-pthread=1
%global petsc_mpibuild_options \\\
%if %{with debug} \
@ -285,8 +287,10 @@
--with-fftw-include= \\\
--with-fftw-lib="-L$MPI_LIB -lfftw3_mpi -lfftw3" \\\
%endif \
--with-pthread=1 \\\
--with-valgrind=1
%ifarch %{valgrind_arches} \
--with-valgrind=1 \\\
%endif \
--with-pthread=1
%global mpichversion %(rpm -qi mpich | awk -F': ' '/Version/ {print $2}')
%global openmpiversion %(rpm -qi openmpi | awk -F': ' '/Version/ {print $2}')
@ -295,8 +299,8 @@
Name: petsc
Summary: Portable Extensible Toolkit for Scientific Computation
Version: %{releasever}.2
Release: %autorelease
Version: %{releasever}.4
Release: %autorelease -e 0.riscv64
License: BSD-2-Clause
URL: https://petsc.org/
Source0: https://web.cels.anl.gov/projects/%{name}/download/release-snapshots/%{name}-with-docs-%{version}.tar.gz
@ -318,6 +322,9 @@ Patch4: %{name}-3.19.4-fix_metis64.patch
Patch6: %{name}-3.14.1-fix_pkgconfig_file.patch
Patch7: %{name}-3.17.0-avoid_fake_MKL_detection.patch
# https://gitlab.com/petsc/petsc/-/issues/1542
Patch8: %{name}-use_int64_t_with_mpiuni.patch
%if %{with superlu}
BuildRequires: SuperLU-devel >= 5.2.0
%endif
@ -356,7 +363,9 @@ BuildRequires: tcsh
BuildRequires: tetgen-devel
%endif
BuildRequires: xorg-x11-server-Xvfb
%ifarch %{valgrind_arches}
BuildRequires: valgrind-devel
%endif
%description
PETSc, pronounced PET-see (the S is silent), is a suite of data structures
@ -586,6 +595,7 @@ done
pushd %{name}-%{version}
%patch -P 7 -p1 -b .backup
%patch -P 8 -p1 -b .backup
popd
# Remove pregenerated Cython C sources

View File

@ -1 +1 @@
SHA512 (petsc-with-docs-3.20.2.tar.gz) = 4d5ae43b5ca35a547da97604d70dbad7045a61054b5874e70b2696b22f8e894dddb67c9d6451662ad4fb6f57c7c7890f466c0d34c9bfaacf7be804a575d92b0f
SHA512 (petsc-with-docs-3.20.4.tar.gz) = 7dbc87a4a947131bfaa9ebb4e30309feb3d1e369cf200a0e9ebbd91fbb5b3963cc08de97ddcaaa6a826d0acbd10fe90e99108322eadcf757ad022d02e7fb294c