summaryrefslogtreecommitdiff
path: root/sci-libs/cholmod
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-16 14:53:46 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-16 14:53:46 +0000
commitf5588424e3182e3006f725536eebd7dc7b5bbfd4 (patch)
tree2c2ccb3df6c5e1039da984d110f02d0c2ec12cf1 /sci-libs/cholmod
parentd969fd257186a9d8083279276697f827331f0e46 (diff)
gentoo auto-resync : 16:12:2023 - 14:53:46
Diffstat (limited to 'sci-libs/cholmod')
-rw-r--r--sci-libs/cholmod/Manifest5
-rw-r--r--sci-libs/cholmod/cholmod-3.0.13.ebuild14
-rw-r--r--sci-libs/cholmod/cholmod-3.0.14.ebuild14
-rw-r--r--sci-libs/cholmod/files/cholmod-3.0.14-fix-CUDA.patch109
4 files changed, 136 insertions, 6 deletions
diff --git a/sci-libs/cholmod/Manifest b/sci-libs/cholmod/Manifest
index 87a8b1f3a120..a1440f6f037b 100644
--- a/sci-libs/cholmod/Manifest
+++ b/sci-libs/cholmod/Manifest
@@ -1,7 +1,8 @@
+AUX cholmod-3.0.14-fix-CUDA.patch 3567 BLAKE2B abb235e1ce3e136d1898e88a3761c729a40c07ce03569f3caa4c3302a9fe85d021711fca37582a471f4568905a5291f7336c778dc73e480f6c47b1a69e899ce4 SHA512 ae8e9da1ff367f223236787a009a11bf109887c79cf9da321ec9480d06acff48a3fe03cd6e7f30f76b0dda1351cdf5e4edddb21b36a541b6162c77b2af2e4df8
DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST cholmod-3.0.13.tar.bz2 696002 BLAKE2B 40a065fe1a3585897b3ca554a25fa80ffc68ac70798f2f803e34a231ec4f532d113a3d00ab7ab61f5eb02503a84e1459cdb7e96cb0b0d1dc6975ed3d533104fe SHA512 c6c80d099386bac27e385a1b8ee8941cd2fb4f2dcfcf302b4b17d6477ac9ee17ad8030aae9191f92576dfaeb521e2c98ec24e867281c2405e42f95580e14f0ab
DIST cholmod-3.0.14.tar.bz2 696981 BLAKE2B 855927c18833235b3f0835bfba455d83957b9161c0ee885c2d31d126f0f473067f55bcf2cfa163c72efb5de573589ffa54b484a8cf89bc44c9dbf64d43fda5d9 SHA512 f8c12fc3c8787be38bca6c6f84a8279c1380fbe4fabbfba754235fdb042d7050bfb7b5a21ea87ef59dbd5184d28e8cb7667966c38f5dcad78fe8d47111896a3c
-EBUILD cholmod-3.0.13.ebuild 1628 BLAKE2B ec6482a2ccab266bdbbc6fa1a59a1a468ab2794ec4ae25dd6e24347600a6878c9e9eddb4ccfdf6b43932d40a49ead6760235bacc682d4a6b844b519c574d6b46 SHA512 a0e1c08a3c65e8d8f15f003f27235e5323a707471d429f4106185d677ede8e7767db0cf3e13bc07405f76e5c62a57739cee51e7862f4515b6525cfa5b5ea5172
-EBUILD cholmod-3.0.14.ebuild 1647 BLAKE2B 3093fa6264e789b186ce406881e1cb56cfe97c1455f1343d91133ede3c0741a800b3f19170de19c77096ec639e8d84ec55e1445e27d3bdea06c2be9c4b038a9e SHA512 72a6465dd0bc9f85d83d55003725459d1decd634a6b32c18223d0c5334f94dec2b20e8d235cd137dbe8c17c361b94e2a4674db2bc6f9fa3b4f4f1f21b4abc627
+EBUILD cholmod-3.0.13.ebuild 1748 BLAKE2B 415db8bb43c849d2839befeed9165bd0e94e47c8a7105667cd45af8bc17c7c2ccadeb8a95e012e49a79fbb22fc9899d440241c985af53ab4fb087f5365b1845f SHA512 84044c3f0b566055d2f37c9b0c822fb991d334b7fdab652ba25b26fb483341b7ed901f2749894c563c404a846a5ed7a5c3681915943cd9bee5a546d3bedd36e7
+EBUILD cholmod-3.0.14.ebuild 1767 BLAKE2B a52d9de36b65740db7245120ec5d5da6e3a8773caf325fdbf2f3374bc5d20fd00442d897b720997cf0ba2bb5d7b8ac3483031520434e2e3b5c8064805b9afe23 SHA512 4fac7ec50f85e890b555ab194e270deca18b100bca9a886a8d2a4437edf204854f429ce3ddbf705818c3332863bce00be1601e7a89f02fe3450501cc1d3179f9
EBUILD cholmod-4.0.3.ebuild 2974 BLAKE2B c77f759479103097bd494ecabf35b64543b9edeb42e1c3a0a98effddfeb1498909e0d7d52ee245bca29abee718accc220970f27500dc11105f75fa6ba58e4c89 SHA512 40dce0c939a3b16205b336482ec621118600f6ed34e83a897dc1b53a1c655c9f3147e5f532d3a50bfbcc44fd457f6dc78c5770ae2e8056c38715459412d6b35b
MISC metadata.xml 1110 BLAKE2B 50621ae9e1269f396a32aff8e7b1c94ce65808efd15a2a353cece3fc7db7c50e3e5c3f427df890cb73d9c3d5fa8b41cf268d1cac84a8af792a2ffa1a869c9c8a SHA512 a20d04f8d9370b4df5d19f1f6393f57ab1812b7ace62682a5006ef69849ba0d587c9447237cdf072988a8ce890265ce0ed2d384eb35a466f752723d7ba3770f7
diff --git a/sci-libs/cholmod/cholmod-3.0.13.ebuild b/sci-libs/cholmod/cholmod-3.0.13.ebuild
index 1bc4d77580e2..bc2fdd2aa62d 100644
--- a/sci-libs/cholmod/cholmod-3.0.13.ebuild
+++ b/sci-libs/cholmod/cholmod-3.0.13.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit toolchain-funcs
+inherit cuda toolchain-funcs
DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
@@ -31,6 +31,16 @@ DEPEND="
)"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.14-fix-CUDA.patch"
+)
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+
+ default
+}
+
src_configure() {
local lapack_libs=no
local blas_libs=no
diff --git a/sci-libs/cholmod/cholmod-3.0.14.ebuild b/sci-libs/cholmod/cholmod-3.0.14.ebuild
index 458f30a8b9c7..4fc1ec9b185a 100644
--- a/sci-libs/cholmod/cholmod-3.0.14.ebuild
+++ b/sci-libs/cholmod/cholmod-3.0.14.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit toolchain-funcs
+inherit cuda toolchain-funcs
DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
@@ -31,6 +31,16 @@ DEPEND="
)"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.14-fix-CUDA.patch"
+)
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+
+ default
+}
+
src_configure() {
local lapack_libs=no
local blas_libs=no
diff --git a/sci-libs/cholmod/files/cholmod-3.0.14-fix-CUDA.patch b/sci-libs/cholmod/files/cholmod-3.0.14-fix-CUDA.patch
new file mode 100644
index 000000000000..75cdee80bfe1
--- /dev/null
+++ b/sci-libs/cholmod/files/cholmod-3.0.14-fix-CUDA.patch
@@ -0,0 +1,109 @@
+https://bugs.gentoo.org/715610#c16
+https://bugs.gentoo.org/attachment.cgi?id=749631
+
+--- cholmod-3.0.14.old/GPU/Makefile.am 2020-09-29 22:59:54.000000000 +0300
++++ cholmod-3.0.14/GPU/Makefile.am 2021-11-09 02:20:06.579908785 +0300
+@@ -11,7 +11,7 @@
+ libcholmodl_gpu_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
+
+ libcholmod_gpu_la_SOURCES = cholmod_gpu_kernels.cu
+-libcholmod_gpu_la_LIBADD = libcholmodi_gpu.la libcholmodl_gpu.la
++libcholmod_gpu_la_LIBADD = libcholmodi_gpu.la libcholmodl_gpu.la cholmod_gpu_kernels.o
+
+-.cu.lo:
+- $(LIBTOOL) --tag=CC --mode=compile $(NVCC) -c $<
++.cu.o:
++ $(NVCC) $(NVCCFLAGS) -o $@ -c $<
+--- cholmod-3.0.14.old/GPU/cholmod_gpu.h 1970-01-01 03:00:00.000000000 +0300
++++ cholmod-3.0.14/GPU/cholmod_gpu.h 2021-11-08 12:13:12.018328369 +0300
+@@ -0,0 +1,80 @@
++/* ========================================================================== */
++/* === Include/cholmod_gpu.h ================================================ */
++/* ========================================================================== */
++
++/* -----------------------------------------------------------------------------
++ * CHOLMOD/Include/cholmod_gpu.h.
++ * Copyright (C) 2014, Timothy A. Davis
++ * http://www.suitesparse.com
++ * -------------------------------------------------------------------------- */
++
++/* CHOLMOD GPU module
++ */
++
++#ifndef CHOLMOD_GPU_H
++#define CHOLMOD_GPU_H
++
++#ifdef GPU_BLAS
++#include "omp.h"
++#include <fenv.h>
++#ifndef SUITESPARSE_GPU_EXTERN_ON
++#include <cuda.h>
++#include <cuda_runtime.h>
++#endif
++#endif
++
++/* CHOLMOD_GPU_PRINTF: for printing GPU debug error messages */
++/*
++#define CHOLMOD_GPU_PRINTF(args) printf args
++*/
++#define CHOLMOD_GPU_PRINTF(args)
++
++/* define supernode requirements for processing on GPU */
++#define CHOLMOD_ND_ROW_LIMIT 256 /* required descendant rows */
++#define CHOLMOD_ND_COL_LIMIT 32 /* required descendnat cols */
++#define CHOLMOD_POTRF_LIMIT 512 /* required cols for POTRF & TRSM on GPU */
++
++/* # of host supernodes to perform before checking for free pinned buffers */
++#define CHOLMOD_GPU_SKIP 3
++
++#define CHOLMOD_HANDLE_CUDA_ERROR(e,s) {if (e) {ERROR(CHOLMOD_GPU_PROBLEM,s);}}
++
++typedef struct cholmod_gpu_pointers
++{
++ double *h_Lx [CHOLMOD_HOST_SUPERNODE_BUFFERS] ;
++ double *d_Lx [CHOLMOD_DEVICE_STREAMS] ;
++ double *d_C ;
++ double *d_A [CHOLMOD_DEVICE_STREAMS] ;
++ void *d_Ls ;
++ void *d_Map ;
++ void *d_RelativeMap ;
++
++} cholmod_gpu_pointers ;
++
++int cholmod_gpu_memorysize /* GPU memory size available, 1 if no GPU */
++(
++ size_t *total_mem,
++ size_t *available_mem,
++ cholmod_common *Common
++) ;
++
++int cholmod_l_gpu_memorysize /* GPU memory size available, 1 if no GPU */
++(
++ size_t *total_mem,
++ size_t *available_mem,
++ cholmod_common *Common
++) ;
++
++int cholmod_gpu_probe ( cholmod_common *Common ) ;
++int cholmod_l_gpu_probe ( cholmod_common *Common ) ;
++
++int cholmod_gpu_deallocate ( cholmod_common *Common ) ;
++int cholmod_l_gpu_deallocate ( cholmod_common *Common ) ;
++
++void cholmod_gpu_end ( cholmod_common *Common ) ;
++void cholmod_l_gpu_end ( cholmod_common *Common ) ;
++
++int cholmod_gpu_allocate ( cholmod_common *Common ) ;
++int cholmod_l_gpu_allocate ( cholmod_common *Common ) ;
++
++#endif
+--- cholmod-3.0.14.old/configure.ac 2020-09-29 22:59:54.000000000 +0300
++++ cholmod-3.0.14/configure.ac 2021-11-08 12:17:00.865381081 +0300
+@@ -80,6 +80,7 @@
+ NVCC,
+ nvcc,,)
+ AC_SUBST([NVCC])
++ AC_SUBST([NVCCFLAGS])
+ AX_CHECK_PKG_LIB(
+ [cublas],
+ [cublas_v2.h],