hypre: Update to 2.33.0 and enable aarch64 (#24049)
This commit is contained in:
parent
1351148e66
commit
8fa206ebeb
14
mingw-w64-hypre/0002-dsuperlu-cpu.patch
Normal file
14
mingw-w64-hypre/0002-dsuperlu-cpu.patch
Normal 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}
|
||||||
@ -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 .
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user