hypre: Update to 2.33.0 and enable aarch64 (#24049)

This commit is contained in:
Hernan Martinez 2025-04-20 13:09:50 -06:00 committed by GitHub
parent 1351148e66
commit 8fa206ebeb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 56 additions and 18 deletions

View File

@ -0,0 +1,14 @@
diff -bur hypre-2.33.0-o/src/parcsr_ls/CMakeLists.txt hypre-2.33.0/src/parcsr_ls/CMakeLists.txt
--- hypre-2.33.0-o/src/parcsr_ls/CMakeLists.txt 2025-04-20 02:33:32.494730700 -0600
+++ hypre-2.33.0/src/parcsr_ls/CMakeLists.txt 2025-04-20 02:37:05.188410400 -0600
@@ -150,6 +150,10 @@
par_mgr_device.c
)
+if (HYPRE_ENABLE_DSUPERLU)
+ list(APPEND SRCS dsuperlu.c)
+endif ()
+
target_sources(${PROJECT_NAME}
PRIVATE ${SRCS}
${HDRS}

View File

@ -3,11 +3,11 @@
_realname=hypre _realname=hypre
pkgbase=mingw-w64-${_realname} pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.31.0 pkgver=2.33.0
pkgrel=2 pkgrel=1
pkgdesc='A library for solving large, sparse linear systems on massively parallel computers (mingw-w64)' pkgdesc='A library for solving large, sparse linear systems on massively parallel computers (mingw-w64)'
arch=('any') arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://www.llnl.gov/casc/hypre/' url='https://www.llnl.gov/casc/hypre/'
msys2_repository_url='https://github.com/hypre-space/hypre/' msys2_repository_url='https://github.com/hypre-space/hypre/'
msys2_documentation_url='https://hypre.readthedocs.io/' msys2_documentation_url='https://hypre.readthedocs.io/'
@ -17,22 +17,37 @@ msys2_references=(
license=('spdx:Apache-2.0 OR MIT') license=('spdx:Apache-2.0 OR MIT')
depends=("${MINGW_PACKAGE_PREFIX}-openblas" depends=("${MINGW_PACKAGE_PREFIX}-openblas"
"${MINGW_PACKAGE_PREFIX}-superlu" "${MINGW_PACKAGE_PREFIX}-superlu"
"${MINGW_PACKAGE_PREFIX}-superlu_dist" $([[ ${CARCH} == aarch64 ]] || echo "${MINGW_PACKAGE_PREFIX}-superlu_dist")
"${MINGW_PACKAGE_PREFIX}-omp") "${MINGW_PACKAGE_PREFIX}-omp")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-msmpi") $([[ ${CARCH} == aarch64 ]] || echo "${MINGW_PACKAGE_PREFIX}-msmpi"))
source=("https://github.com/hypre-space/hypre/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz" source=("https://github.com/hypre-space/hypre/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
"0001-fix-win32-check.patch") "0001-fix-win32-check.patch"
sha256sums=('9a7916e2ac6615399de5010eb39c604417bb3ea3109ac90e199c5c63b0cb4334' "0002-dsuperlu-cpu.patch")
'9402d6d7115dc5e9f65209281c6783d973fe7fdc184963a9b346686023737ba1') sha256sums=('0f9103c34bce7a5dcbdb79a502720fc8aab4db9fd0146e0791cde7ec878f27da'
'9402d6d7115dc5e9f65209281c6783d973fe7fdc184963a9b346686023737ba1'
'6c13b611309957b0befe73e662b6410c99e2eea0e36e37e522082d4c2f41b2dd')
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying ${_patch}"
patch -Nbp1 -i "${srcdir}/${_patch}"
done
}
prepare() { prepare() {
cd "${srcdir}/${_realname}-${pkgver}" cd "${srcdir}/${_realname}-${pkgver}"
# https://github.com/hypre-space/hypre/pull/578 # https://github.com/hypre-space/hypre/pull/578
patch -p1 -i "${srcdir}/0001-fix-win32-check.patch" apply_patch_with_msg \
0001-fix-win32-check.patch
apply_patch_with_msg \
0002-dsuperlu-cpu.patch
} }
build() { build() {
@ -43,6 +58,15 @@ build() {
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug") _extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi fi
if [[ ${CARCH} == aarch64 ]]; then
_extra_config+=("-DHYPRE_ENABLE_DSUPERLU=OFF")
_extra_config+=("-DHYPRE_ENABLE_MPI=OFF")
else
_extra_config+=("-DHYPRE_ENABLE_DSUPERLU=ON")
_extra_config+=("-DHYPRE_ENABLE_MPI=ON")
fi
#Static Build #Static Build
mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static" mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static"
@ -51,12 +75,12 @@ build() {
-GNinja \ -GNinja \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${_extra_config[@]}" \ "${_extra_config[@]}" \
-DHYPRE_WITH_OPENMP=ON \ -DHYPRE_ENABLE_OPENMP=ON \
-DHYPRE_WITH_DSUPERLU=ON \ -DHYPRE_ENABLE_SUPERLU=ON \
-DTPL_DSUPERLU_LIBRARIES=ON \
-DTPL_DSUPERLU_INCLUDE_DIRS=${MINGW_PREFIX}/include/superlu_dist \ -DTPL_DSUPERLU_INCLUDE_DIRS=${MINGW_PREFIX}/include/superlu_dist \
-DTPL_DSUPERLU_LIBRARIES=${MINGW_PREFIX}/lib/libsuperlu_dist.a \ -DTPL_DSUPERLU_LIBRARIES=${MINGW_PREFIX}/lib/libsuperlu_dist.a \
-DBLA_VENDOR=OpenBLAS \ -DTPL_SUPERLU_INCLUDE_DIRS=${MINGW_PREFIX}/include/superlu \
-DTPL_SUPERLU_LIBRARIES=${MINGW_PREFIX}/lib/libsuperlu.a \
../${_realname}-${pkgver}/src ../${_realname}-${pkgver}/src
${MINGW_PREFIX}/bin/cmake --build . ${MINGW_PREFIX}/bin/cmake --build .
@ -69,13 +93,13 @@ build() {
-GNinja \ -GNinja \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${_extra_config[@]}" \ "${_extra_config[@]}" \
-DHYPRE_ENABLE_SHARED=ON \ -DBUILD_SHARED_LIBS=ON \
-DHYPRE_WITH_OPENMP=ON \ -DHYPRE_ENABLE_OPENMP=ON \
-DHYPRE_WITH_DSUPERLU=ON \ -DHYPRE_ENABLE_SUPERLU=ON \
-DTPL_DSUPERLU_LIBRARIES=ON \
-DTPL_DSUPERLU_INCLUDE_DIRS=${MINGW_PREFIX}/include/superlu_dist \ -DTPL_DSUPERLU_INCLUDE_DIRS=${MINGW_PREFIX}/include/superlu_dist \
-DTPL_DSUPERLU_LIBRARIES=${MINGW_PREFIX}/lib/libsuperlu_dist.dll.a \ -DTPL_DSUPERLU_LIBRARIES=${MINGW_PREFIX}/lib/libsuperlu_dist.dll.a \
-DBLA_VENDOR=OpenBLAS \ -DTPL_SUPERLU_INCLUDE_DIRS=${MINGW_PREFIX}/include/superlu \
-DTPL_SUPERLU_LIBRARIES=${MINGW_PREFIX}/lib/libsuperlu.dll.a \
../${_realname}-${pkgver}/src ../${_realname}-${pkgver}/src
${MINGW_PREFIX}/bin/cmake --build . ${MINGW_PREFIX}/bin/cmake --build .