mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-22 13:33:32 -04:00
sci-libs/superlu_dist: new package, add 7.2.0, 8.0.0
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
2
sci-libs/superlu_dist/Manifest
Normal file
2
sci-libs/superlu_dist/Manifest
Normal file
@@ -0,0 +1,2 @@
|
||||
DIST superlu_dist-7.2.0.tar.gz 2187572 BLAKE2B 93e848e7146022030d8d55fef74b090d6998553d5114b136c38fc95873941f5fe20a2a3f7af30cf4465fac4306da41dc41f27614397f77f9e08b57f8705c9312 SHA512 89d2480e2c200e4588171b24ce21c9f1556c3ba917a561bdb6ac89e88c73ea982ba133ffddba632494098b68d8ad59ca28ec215f2cb92da12c518e87a2e1d5f7
|
||||
DIST superlu_dist-8.0.0.tar.gz 2291245 BLAKE2B 059b737d9286fa43a5eee0f6b2719571c07f8176dce2055846646a37fedeff39816e673271f76fcedff739b766404aa3f74ce9bb02b7a51be043c449de578848 SHA512 c4e4df9b077bc24f587121c05c60a9521f9afe2f1a15acb2e1ea17b34df33c155a423f89c520c43f7953889a8ae90d8e358f95e99e901d3097e9df6a992c482e
|
||||
35
sci-libs/superlu_dist/metadata.xml
Normal file
35
sci-libs/superlu_dist/metadata.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<description>co-maintainers welcome</description>
|
||||
<name>Alessandro Barbieri</name>
|
||||
<email>lssndrbarbieri@gmail.com</email>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="combblas">Use CombBLAS as dependency</flag>
|
||||
<flag name="complex-precision">Enable complex16 precision library</flag>
|
||||
<flag name="double-precision">Enable double precision library</flag>
|
||||
<flag name="hip">Enable the HIP libraries</flag>
|
||||
<flag name="metis">Use parmetis as dependency</flag>
|
||||
<flag name="single-precision">Enable single precision library</flag>
|
||||
</use>
|
||||
<longdescription lang="en">
|
||||
SuperLU is a general purpose library for the direct solution of
|
||||
large, sparse, nonsymmetric systems of linear equations on high
|
||||
performance machines. The library is written in C and is callable
|
||||
from either C or Fortran. The library routines will perform an LU
|
||||
decomposition with partial pivoting and triangular system solves
|
||||
through forward and back substitution. The LU factorization routines
|
||||
can handle non-square matrices but the triangular solves are
|
||||
performed only for square matrices. The matrix columns may be
|
||||
preordered (before factorization) either through library or user
|
||||
supplied routines. This preordering for sparsity is completely
|
||||
separate from the factorization. Working precision iterative
|
||||
refinement subroutines are provided for improved backward
|
||||
stability. Routines are also provided to equilibrate the system,
|
||||
estimate the condition number, calculate the relative backward
|
||||
error, and estimate error bounds for the refined solutions.
|
||||
This is the distributed version (MPI based).
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
||||
79
sci-libs/superlu_dist/superlu_dist-7.2.0.ebuild
Normal file
79
sci-libs/superlu_dist/superlu_dist-7.2.0.ebuild
Normal file
@@ -0,0 +1,79 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DOCS_BUILDER="doxygen"
|
||||
DOCS_CONFIG_NAME="DoxyConfig"
|
||||
FORTRAN_NEEDED="fortran"
|
||||
|
||||
inherit cmake docs fortran-2
|
||||
|
||||
DESCRIPTION="MPI distributed sparse LU factorization library"
|
||||
HOMEPAGE="
|
||||
https://portal.nersc.gov/project/sparse/superlu/
|
||||
https://github.com/xiaoyeli/superlu_dist
|
||||
"
|
||||
SRC_URI="https://github.com/xiaoyeli/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="combblas +complex-precision +double-precision examples lapack fortran metis single-precision test"
|
||||
# TODO: cuda
|
||||
|
||||
RDEPEND="
|
||||
virtual/blas
|
||||
virtual/mpi
|
||||
|
||||
combblas? ( sci-libs/CombBLAS )
|
||||
lapack? ( virtual/lapack )
|
||||
metis? ( sci-libs/parmetis )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
src_prepare() {
|
||||
rm -r CBLAS || die
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-Denable_openmp=ON
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
-DBUILD_STATIC_LIBS=OFF
|
||||
-DTPL_ENABLE_CUDALIB=OFF
|
||||
-DTPL_ENABLE_INTERNAL_BLASLIB=OFF
|
||||
|
||||
-Denable_complex16=$(usex complex-precision)
|
||||
-Denable_double=$(usex double-precision)
|
||||
-Denable_examples=$(usex examples ON OFF)
|
||||
-Denable_single=$(usex single-precision)
|
||||
-Denable_tests=$(usex test ON OFF)
|
||||
-DTPL_ENABLE_COMBBLASLIB=$(usex combblas)
|
||||
-DTPL_ENABLE_LAPACKLIB=$(usex lapack)
|
||||
-DTPL_ENABLE_PARMETISLIB=$(usex metis)
|
||||
-DXSDK_ENABLE_Fortran=$(usex fortran)
|
||||
)
|
||||
if use combblas; then
|
||||
mycmakeargs+=(
|
||||
-DTPL_COMBBLAS_LIBRARIES="${EPREFIX}/usr/$(get_libdir)/libCombBLAS.so"
|
||||
-DTPL_COMBBLAS_INCLUDE_DIRS="${EPREFIX}/usr/include/CombBLAS/"
|
||||
)
|
||||
fi
|
||||
if use metis; then
|
||||
mycmakeargs+=(
|
||||
-DTPL_PARMETIS_LIBRARIES="${EPREFIX}/usr/$(get_libdir)/libparmetis.so"
|
||||
-DTPL_PARMETIS_INCLUDE_DIRS="${EPREFIX}/usr/include"
|
||||
)
|
||||
fi
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
default
|
||||
}
|
||||
85
sci-libs/superlu_dist/superlu_dist-8.0.0.ebuild
Normal file
85
sci-libs/superlu_dist/superlu_dist-8.0.0.ebuild
Normal file
@@ -0,0 +1,85 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DOCS_BUILDER="doxygen"
|
||||
DOCS_CONFIG_NAME="DoxyConfig"
|
||||
FORTRAN_NEEDED="fortran"
|
||||
|
||||
inherit cmake docs fortran-2
|
||||
|
||||
DESCRIPTION="MPI distributed sparse LU factorization library"
|
||||
HOMEPAGE="
|
||||
https://portal.nersc.gov/project/sparse/superlu/
|
||||
https://github.com/xiaoyeli/superlu_dist
|
||||
"
|
||||
SRC_URI="https://github.com/xiaoyeli/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="combblas +complex-precision +double-precision examples hip lapack fortran metis single-precision test"
|
||||
# TODO: cuda
|
||||
|
||||
RDEPEND="
|
||||
virtual/blas
|
||||
virtual/mpi
|
||||
|
||||
combblas? ( sci-libs/CombBLAS )
|
||||
hip? (
|
||||
sci-libs/hipBLAS
|
||||
sci-libs/rocBLAS
|
||||
sci-libs/rocSOLVER
|
||||
)
|
||||
lapack? ( virtual/lapack )
|
||||
metis? ( sci-libs/parmetis )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
src_prepare() {
|
||||
rm -r CBLAS || die
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-Denable_openmp=ON
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
-DBUILD_STATIC_LIBS=OFF
|
||||
-DTPL_ENABLE_CUDALIB=OFF
|
||||
-DTPL_ENABLE_INTERNAL_BLASLIB=OFF
|
||||
|
||||
-Denable_complex16=$(usex complex-precision)
|
||||
-Denable_double=$(usex double-precision)
|
||||
-Denable_examples=$(usex examples ON OFF)
|
||||
-Denable_single=$(usex single-precision)
|
||||
-Denable_tests=$(usex test ON OFF)
|
||||
-DTPL_ENABLE_COMBBLASLIB=$(usex combblas)
|
||||
-DTPL_ENABLE_HIPLIB=$(usex hip)
|
||||
-DTPL_ENABLE_LAPACKLIB=$(usex lapack)
|
||||
-DTPL_ENABLE_PARMETISLIB=$(usex metis)
|
||||
-DXSDK_ENABLE_Fortran=$(usex fortran)
|
||||
)
|
||||
if use combblas; then
|
||||
mycmakeargs+=(
|
||||
-DTPL_COMBBLAS_LIBRARIES="${EPREFIX}/usr/$(get_libdir)/libCombBLAS.so"
|
||||
-DTPL_COMBBLAS_INCLUDE_DIRS="${EPREFIX}/usr/include/CombBLAS/"
|
||||
)
|
||||
fi
|
||||
if use metis; then
|
||||
mycmakeargs+=(
|
||||
-DTPL_PARMETIS_LIBRARIES="${EPREFIX}/usr/$(get_libdir)/libparmetis.so"
|
||||
-DTPL_PARMETIS_INCLUDE_DIRS="${EPREFIX}/usr/include"
|
||||
)
|
||||
fi
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
default
|
||||
}
|
||||
Reference in New Issue
Block a user