8 Commits

Author SHA256 Message Date
bf4f2c07a8 Accepting request 1266045 from science
OBS-URL: https://build.opensuse.org/request/show/1266045
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/superlu?expand=0&rev=35
2025-04-03 14:45:54 +00:00
Ana Guerrero
22b06b5852 Accepting request 1265577 from home:NMorey:branches:science:HPC
- Disable and remove support for gnu-hpc build flavours (bsc#1239982)

OBS-URL: https://build.opensuse.org/request/show/1265577
OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=51
2025-04-01 08:41:20 +00:00
8eb3e05c99 Accepting request 1229425 from science
OBS-URL: https://build.opensuse.org/request/show/1229425
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/superlu?expand=0&rev=34
2024-12-10 22:43:08 +00:00
2583916f5b Accepting request 1229424 from home:badshah400:branches:science
Add BuildRequires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc to fix use of %requires_eq.

OBS-URL: https://build.opensuse.org/request/show/1229424
OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=49
2024-12-09 15:29:49 +00:00
b4c9a64810 Accepting request 1219257 from science
OBS-URL: https://build.opensuse.org/request/show/1219257
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/superlu?expand=0&rev=33
2024-10-31 15:08:53 +00:00
51409a42a3 Accepting request 1219210 from home:badshah400:branches:science
Move manual installation of files from %check section to install where they really belong (boo#1232550).

OBS-URL: https://build.opensuse.org/request/show/1219210
OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=47
2024-10-30 05:57:00 +00:00
7862a26f08 Accepting request 1218514 from science
OBS-URL: https://build.opensuse.org/request/show/1218514
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/superlu?expand=0&rev=32
2024-10-28 14:17:38 +00:00
626d4cb9e3 Accepting request 1217399 from home:mathletic:branches:science
- Fix %check for gnu-hpc flavor by loading openblas module before
  running ctest.
- Update to version 7.0.0
  * To avoid name clashes, use type "singlecomplex" instead of
    "complex".
  * Rank Deficient Matrices

OBS-URL: https://build.opensuse.org/request/show/1217399
OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=45
2024-10-26 11:48:03 +00:00
6 changed files with 64 additions and 190 deletions

View File

@@ -1,4 +0,0 @@
<multibuild>
<package>gnu-hpc</package>
<package>serial</package>
</multibuild>

Binary file not shown.

3
superlu-7.0.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3adc75d96869004b8bb8fa44e9ba77c1d90418340c61d302ffac72e9d22f9c1
size 2460826

View File

@@ -1,5 +1,4 @@
diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt
index 34c4aa4..7996af0 100644
--- a/SRC/CMakeLists.txt --- a/SRC/CMakeLists.txt
+++ b/SRC/CMakeLists.txt +++ b/SRC/CMakeLists.txt
@@ -23,7 +23,6 @@ set(sources @@ -23,7 +23,6 @@ set(sources
@@ -9,8 +8,8 @@ index 34c4aa4..7996af0 100644
- mc64ad.c - mc64ad.c
qselect.c qselect.c
input_error.c input_error.c
dmach.c )
@@ -68,9 +67,7 @@ if(enable_single) @@ -66,9 +65,7 @@ if(enable_single)
smemory.c smemory.c
sutil.c sutil.c
smyblas2.c smyblas2.c
@@ -20,7 +19,7 @@ index 34c4aa4..7996af0 100644
ilu_sdrop_row.c ilu_sdrop_row.c
ilu_ssnode_dfs.c ilu_ssnode_dfs.c
ilu_scolumn_dfs.c ilu_scolumn_dfs.c
@@ -118,9 +115,7 @@ if(enable_double) @@ -116,9 +113,7 @@ if(enable_double)
dmemory.c dmemory.c
dutil.c dutil.c
dmyblas2.c dmyblas2.c
@@ -30,7 +29,7 @@ index 34c4aa4..7996af0 100644
ilu_ddrop_row.c ilu_ddrop_row.c
ilu_dsnode_dfs.c ilu_dsnode_dfs.c
ilu_dcolumn_dfs.c ilu_dcolumn_dfs.c
@@ -171,9 +166,7 @@ if(enable_complex) @@ -169,9 +164,7 @@ if(enable_complex)
cmemory.c cmemory.c
cutil.c cutil.c
cmyblas2.c cmyblas2.c
@@ -40,7 +39,7 @@ index 34c4aa4..7996af0 100644
ilu_cdrop_row.c ilu_cdrop_row.c
ilu_csnode_dfs.c ilu_csnode_dfs.c
ilu_ccolumn_dfs.c ilu_ccolumn_dfs.c
@@ -222,9 +215,7 @@ if(enable_complex16) @@ -220,9 +213,7 @@ if(enable_complex16)
zmemory.c zmemory.c
zutil.c zutil.c
zmyblas2.c zmyblas2.c

View File

@@ -1,3 +1,35 @@
-------------------------------------------------------------------
Mon Mar 24 17:01:39 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Disable and remove support for gnu-hpc build flavours (bsc#1239982)
-------------------------------------------------------------------
Mon Dec 9 15:13:46 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
- Add BuildRequires:
libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc to fix
use of %requires_eq.
-------------------------------------------------------------------
Tue Oct 29 21:47:29 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
- Move manual installation of files from %check section to
%install where they really belong (boo#1232550).
-------------------------------------------------------------------
Wed Oct 23 12:11:46 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
- Fix %check for gnu-hpc flavor by loading openblas module before
running ctest.
-------------------------------------------------------------------
Sat Oct 12 21:07:32 UTC 2024 - Christoph G <foss@grueninger.de>
- Update to version 7.0.0
* To avoid name clashes, use type "singlecomplex" instead of
"complex".
* Rank Deficient Matrices
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Aug 6 08:39:35 UTC 2023 - Christoph G <foss@grueninger.de> Sun Aug 6 08:39:35 UTC 2023 - Christoph G <foss@grueninger.de>

View File

@@ -1,7 +1,7 @@
# #
# spec file # spec file for package superlu
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2025 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -16,81 +16,17 @@
# #
%global flavor @BUILD_FLAVOR@%{nil} %define _sover 7
# Base package name
%define pname superlu
%define ver 6.0.1
%define _ver %(echo %{ver} | tr . _)
%if "%flavor" == ""
ExclusiveArch: do_not_build
%endif
%if "%{flavor}" == "serial"
%bcond_with hpc
%endif
%if "%{flavor}" == "gnu-hpc"
%bcond_without hpc
%global compiler_family gnu
%undefine c_f_ver
%endif
%if "%{flavor}" == "gnu7-hpc"
%bcond_without hpc
%global compiler_family gnu
%undefine c_f_ver 7
%endif
%if "%{flavor}" == "gnu8-hpc"
%bcond_without hpc
%global compiler_family gnu
%define c_f_ver 8
%endif
%if "%{flavor}" == "gnu9-hpc"
%bcond_without hpc
%global compiler_family gnu
%define c_f_ver 9
%endif
%if "%{flavor}" == "gnu10-hpc"
%bcond_without hpc
%global compiler_family gnu
%define c_f_ver 10
%endif
%bcond_with ringdisabled
%if %{with hpc} && %{with ringdisabled}
ExclusiveArch: do_not_build
%endif
%define package_name %pname
%if %{without hpc}
%define p_prefix %_prefix
%define p_includedir %_includedir
%define p_libdir %_libdir
%define _sover 6
%define libname lib%{name}%{?_sover} %define libname lib%{name}%{?_sover}
%else
%{hpc_init -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} %{?ext:-e %{ext}}}
%define package_name %{hpc_package_name %_ver}
%define p_prefix %hpc_prefix
%define p_includedir %hpc_includedir
%define p_libdir %hpc_libdir
%define libname lib%{name}
%endif
Name: %{package_name} Name: superlu
Summary: A general purpose library for the direct solution of linear equations Summary: A general purpose library for the direct solution of linear equations
License: BSD-3-Clause License: BSD-3-Clause
Group: Productivity/Scientific/Math Group: Productivity/Scientific/Math
Version: %{ver} Version: 7.0.0
Release: 0 Release: 0
URL: https://portal.nersc.gov/project/sparse/superlu/ URL: https://portal.nersc.gov/project/sparse/superlu/
Source0: %{pname}-%{version}.tar.gz Source0: %{name}-%{version}.tar.gz
# Tarball above is generated with the script below # Tarball above is generated with the script below
Source1: get-tarball.sh Source1: get-tarball.sh
Source2: README.SUSE Source2: README.SUSE
@@ -101,18 +37,11 @@ Source3: superlu.rpmlintrc
# this routine in the library which, however, remains fully functional # this routine in the library which, however, remains fully functional
Patch0: superlu-remove-mc64ad.patch Patch0: superlu-remove-mc64ad.patch
Patch1: superlu-make.linux.patch Patch1: superlu-make.linux.patch
BuildRequires: blas-devel
BuildRequires: cmake >= 3.5 BuildRequires: cmake >= 3.5
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: tcsh
%if %{without hpc}
BuildRequires: blas-devel
BuildRequires: gcc-fortran BuildRequires: gcc-fortran
%else BuildRequires: tcsh
Requires: %{compiler_family}%{?c_f_ver}-compilers-hpc
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
BuildRequires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel
BuildRequires: suse-hpc >= 0.5.20230501
%endif
%description %description
SuperLU is an algorithm that uses group theory to optimize LU SuperLU is an algorithm that uses group theory to optimize LU
@@ -124,11 +53,6 @@ https://portal.nersc.gov/project/sparse/superlu/.
%package -n %libname %package -n %libname
Summary: SuperLU matrix solver Summary: SuperLU matrix solver
Group: System/Libraries Group: System/Libraries
%if %{with hpc}
%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc}
Requires: lua-lmod >= 7.6.1
%hpc_requires
%endif
%description -n %libname %description -n %libname
SuperLU is an algorithm that uses group theory to optimize LU SuperLU is an algorithm that uses group theory to optimize LU
@@ -138,14 +62,10 @@ decomposition of sparse matrices.
Summary: Headers and development library for lib%{name}%{?_sover} Summary: Headers and development library for lib%{name}%{?_sover}
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %libname = %version Requires: %libname = %version
%if %{with hpc}
%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel}
%hpc_requires_devel
%endif
Recommends: %name-doc Recommends: %name-doc
%description devel %description devel
SuperLU headers and libraries files needed for development %{with_hpc:(HPC variant)} SuperLU headers and libraries files needed for development
%package doc %package doc
Summary: Documentation for %name Summary: Documentation for %name
@@ -168,32 +88,17 @@ Example programs for SuperLU.
SuperLU is an algorithm that uses group theory to optimize LU SuperLU is an algorithm that uses group theory to optimize LU
decomposition of sparse matrices. decomposition of sparse matrices.
%if %{with hpc}
%{hpc_master_package -l -L}
%{hpc_master_package -L devel}
%{hpc_master_package doc}
%{hpc_master_package -L examples}
%endif
%prep %prep
%setup -q -n superlu-%{version} %setup -q -n superlu-%{version}
%autopatch -p1 %autopatch -p1
cp %SOURCE2 ./ cp %SOURCE2 ./
# Create baselibs.conf dynamically (non-HPC build only). # Create baselibs.conf dynamically
%if %{without hpc}
cat > %{_sourcedir}/baselibs.conf <<EOF cat > %{_sourcedir}/baselibs.conf <<EOF
lib%{name}%{?_sover} lib%{name}%{?_sover}
EOF EOF
%endif
%build %build
%{?hpc_setup}
%if %{without hpc}
%cmake \ %cmake \
%else
module load openblas
%hpc_cmake \
%endif
-DCMAKE_BUILD_TYPE=Release -DUSE_XSDK_DEFAULTS='TRUE' \ -DCMAKE_BUILD_TYPE=Release -DUSE_XSDK_DEFAULTS='TRUE' \
-Denable_tests=ON -Denable_examples=OFF -Denable_tests=ON -Denable_examples=OFF
make %{?_smp_mflags} make %{?_smp_mflags}
@@ -203,92 +108,34 @@ make %{?_smp_mflags}
#fix permissions #fix permissions
chmod 644 MATLAB/* EXAMPLE/* chmod 644 MATLAB/* EXAMPLE/*
# remove all build examples
cd EXAMPLE
make clean
rm -rf *itersol* .gitignore
cd ..
mv EXAMPLE examples
cp MAKE_INC/make.linux examples/make.inc
sed -i -e 's&@superlu_home@&%p_prefix&' -e 's&@superlu_lib@&%p_libdir&' examples/make.inc
rm -f examples/.gitignore
cp FORTRAN/README README.fortran cp FORTRAN/README README.fortran
cp -r EXAMPLE examples
cp MAKE_INC/make.linux examples/make.inc
sed -i -e 's&@superlu_home@&%_prefix&' -e 's&@superlu_lib@&%_libdir&' examples/make.inc
rm -f examples/.gitignore
%fdupes -s examples %fdupes -s examples
%check %check
%ctest %ctest
# remove all build examples
rm -fr EXAMPLE
%if %{with hpc}
%{hpc_write_pkgconfig}
# TODO: is there any path to add for Matlab files?
%hpc_write_modules_files
#%Module1.0#####################################################################
proc ModulesHelp { } {
puts stderr " "
puts stderr "This module loads the SuperLU library built with the %{compiler_family} compiler"
puts stderr "toolchain."
puts stderr " "
puts stderr "Note that this build of SuperLU leverages the OpenBLAS linear algebra libraries."
puts stderr "Consequently, openblas is loaded automatically with this module."
puts stderr "\nVersion %{version}\n"
}
module-whatis "Name: %{pname} built with %{compiler_family} compiler"
module-whatis "Version: %{version}"
module-whatis "Category: runtime library"
module-whatis "Description: %{SUMMARY}"
module-whatis "%{url}"
set version %{version}
depends-on openblas
if {[file isdirectory %{hpc_includedir}]} {
prepend-path INCLUDE %{hpc_includedir}
}
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
setenv %{hpc_PNAME %pname}_DIR %{hpc_prefix}
if {[file isdirectory %{hpc_includedir}]} {
setenv %{hpc_PNAME %pname}_INC %{hpc_includedir}
%hpc_modulefile_add_pkgconfig_path
}
setenv %{hpc_PNAME %pname}_LIB %{hpc_libdir}
EOF
%endif
%if %{without hpc}
%post -n %libname -p /sbin/ldconfig %post -n %libname -p /sbin/ldconfig
%postun -n %libname -p /sbin/ldconfig %postun -n %libname -p /sbin/ldconfig
%else
%post -n %libname
/sbin/ldconfig -N %hpc_libdir
%postun -n %libname
/sbin/ldconfig -N %hpc_libdir
%hpc_module_delete_if_default
%endif
%files -n %libname %files -n %libname
%doc README MATLAB README.SUSE %doc README MATLAB README.SUSE
%{?with_hpc:%hpc_dirs} %{_libdir}/*.so.*
%{?with_hpc:%hpc_modules_files}
%{p_libdir}/*.so.*
%files devel %files devel
%doc README.fortran %doc README.fortran
%{?with_hpc:%{hpc_pkgconfig_file}} %{_includedir}/*
%{p_includedir}/%{!?with_hpc:*} %{_libdir}/*.so
%{p_libdir}/*.so %dir %{_libdir}/cmake/
%dir %{p_libdir}/cmake/ %dir %{_libdir}/cmake/superlu/
%dir %{p_libdir}/cmake/superlu/ %{_libdir}/cmake/superlu/*.cmake
%{p_libdir}/cmake/superlu/*.cmake %{_libdir}/pkgconfig/superlu.pc
%{p_libdir}/pkgconfig/superlu.pc
%files doc %files doc
%doc DOC/html DOC/ug.pdf %doc DOC/html DOC/ug.pdf