28 Commits

Author SHA256 Message Date
eacdebdbba Accepting request 1282433 from science
OBS-URL: https://build.opensuse.org/request/show/1282433
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=73
2025-06-04 18:27:19 +00:00
4acfca4a3d - For SLES16 target POWER9 instead of POWER8 which fixes the
issue with the reported sgemm testsuite fails.  [bsc#1239545]

OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=203
2025-06-03 16:53:11 +00:00
91e75280cc Accepting request 1266047 from science
OBS-URL: https://build.opensuse.org/request/show/1266047
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=72
2025-04-03 14:45:54 +00:00
Ana Guerrero
91e44b5cce - Disable and remove support for gnu-hpc build flavours (bsc#1239982)
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=201
2025-04-01 08:42:12 +00:00
a2e8b41e3f Accepting request 1253922 from science
- Disable sgemmt and dgemmt tests in the test suite on power
  when gcc-13 is used. It is known (bsc#1239134) that some
  of these tests fail on this architecture when OpenBLAS
  is being build with the said compiler version ever since
  these tests were introduced.
  With this will essentially restore the situation of the
  version prior to the adition of these tests (0.3.26) where
  one was unaware of the problem.
  This is only a temporary measure and will be removed once
  the issue with gcc-13 has been resolved.
- Remove: Link-library-with-z-noexecstack.patch
  since `-Wa,--noexecstack -Wl,-z,noexecstack` are global options,
  now.

- Set gcc versions for ppc64le (bsc#1239702) (forwarded request 1253917 from eeich)

OBS-URL: https://build.opensuse.org/request/show/1253922
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=71
2025-03-18 16:37:29 +00:00
af4e0eea8c - Disable sgemmt and dgemmt tests in the test suite on power
when gcc-13 is used. It is known (bsc#1239134) that some
  of these tests fail on this architecture when OpenBLAS
  is being build with the said compiler version ever since
  these tests were introduced.
  With this will essentially restore the situation of the
  version prior to the adition of these tests (0.3.26) where
  one was unaware of the problem.
  This is only a temporary measure and will be removed once
  the issue with gcc-13 has been resolved.
- Remove: Link-library-with-z-noexecstack.patch
  since `-Wa,--noexecstack -Wl,-z,noexecstack` are global options,
  now.

- Set gcc versions for ppc64le (bsc#1239702)

OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=199
2025-03-17 19:36:04 +00:00
f9026b901c Accepting request 1253107 from science
- Use upstream patch for bsc#1239134 which is more friendly to the
  non-affected power9 and power10 sub-architectures:
  Replace:
  Revert-ba47c7f4f301aad100ed166de338b86e01da8465.patch
  by:
  Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch (forwarded request 1253105 from eeich)

OBS-URL: https://build.opensuse.org/request/show/1253107
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=70
2025-03-15 15:14:59 +00:00
53c5fa41e3 - Use upstream patch for bsc#1239134 which is more friendly to the
non-affected power9 and power10 sub-architectures:
  Replace:
  Revert-ba47c7f4f301aad100ed166de338b86e01da8465.patch
  by:
  Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch

OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=197
2025-03-14 14:36:31 +00:00
67bfc95cea Accepting request 1252226 from science
- Revert  commit ba47c7f4f301aad100ed166de338b86e01da8465 to
  prevent failures on Power8 (bsc#1239134)
  * Add: Revert-ba47c7f4f301aad100ed166de338b86e01da8465.patch
- Add a script to run tests.
- Add bisect support. (forwarded request 1252221 from eeich)

OBS-URL: https://build.opensuse.org/request/show/1252226
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=69
2025-03-13 14:04:24 +00:00
7bfeaf67c4 - Revert commit ba47c7f4f301aad100ed166de338b86e01da8465 to
prevent failures on Power8 (bsc#1239134)
  * Add: Revert-ba47c7f4f301aad100ed166de338b86e01da8465.patch
- Add a script to run tests.
- Add bisect support.

OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=195
2025-03-12 07:20:47 +00:00
bca0df3804 Accepting request 1251078 from science
- Fix path to work with i586 (forwarded request 1251077 from eeich)

OBS-URL: https://build.opensuse.org/request/show/1251078
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=68
2025-03-07 15:39:24 +00:00
10476385d7 Accepting request 1251077 from home:eeich:branches:science
- Fix path to work with i586

OBS-URL: https://build.opensuse.org/request/show/1251077
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=193
2025-03-07 06:00:00 +00:00
14e568f52d Accepting request 1250765 from home:eeich:branches:science
- Fix permissions and path

OBS-URL: https://build.opensuse.org/request/show/1250765
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=192
2025-03-06 17:11:39 +00:00
8b6456cf75 Accepting request 1250625 from home:eeich:branches:science
- Add test package.
- Add flags: `-Wa,--noexecstack -Wl,-z,noexecstack` to make sure
  stack is not executable. This works around problems in assembler
  code for z.
- Make stack of empty cpuid.S non-executable as well.

OBS-URL: https://build.opensuse.org/request/show/1250625
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=191
2025-03-06 12:52:05 +00:00
a0be2a2e26 Accepting request 1250495 from home:eeich:branches:science
- Update to version 0.2.29 (jsc#PED-9676):
  General:
  * Fixed a potential NULL pointer dereference in multithreaded builds.
  * Added function aliases for `GEMMT` using its new name `GEMMTR`
    adopted by Reference-BLAS.
  * Fixed the behavior of the recently added `CBLAS_?GEMMT` functions
    with row-major data.
  * Improved thread scaling of multithreaded `SBGEMV`.
  * Improved thread scaling of multithreaded `TRTRI`.
  * Fixed compilation of the CBLAS testsuite with gcc14 (and no
    Fortran compiler).
  * Fixed placement of the `-fopenmp` flag and libsuffix in the
    generated pkgconfig file.
  * Improved the `CMakeConfig` file generated by the Makefile build.
  * Fixed const-correctness of `cblas_?geadd` in `cblas.h`.
  * Fixed a potential inaccuracy in multithreaded BLAS3 calls.
  * Fixed empty implementations of `get`/`set_affinity` that print a
    warning in OpenMP builds.
  * Fixed function signatures for TRTRS in the converted C version of
    LAPACK.
  * Fixed omission of several single-precision LAPACK symbols in the
    shared library.
  * Improved build instructions for the provided "pybench" benchmarks.
  * Improved documentation, including descriptions of environment
    variables that affect build and runtime behavior.
  * Added a separate "make install_tests" target for use with
    cross-compilations.
  * Integrated improvements and corrections from Reference-LAPACK:
    - removed a comparison in LAPACKE `?tpmqrt` that is always false.
    - fixed the leading dimension for B in tests for GGEV.

OBS-URL: https://build.opensuse.org/request/show/1250495
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=190
2025-03-05 20:05:34 +00:00
cf70d49130 - Update to version 0.3.28 (jsc#PED-9676):
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=189
2025-03-05 13:14:18 +00:00
da1902eb1b Accepting request 1242905 from science
Disable LTO on riscv64 due to GCC#110812

OBS-URL: https://build.opensuse.org/request/show/1242905
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=67
2025-02-04 17:10:38 +00:00
bcc3a19335 OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=187 2025-02-03 18:17:41 +00:00
616f244801 Accepting request 1242901 from openSUSE:Factory:RISCV
- Disable LTO on riscv64 due to gcc bug 110812

OBS-URL: https://build.opensuse.org/request/show/1242901
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=186
2025-02-03 18:16:49 +00:00
b5d088b8b5 Accepting request 1234592 from science
- Update to version 0.3.27 (jsc#PED-9676):
  * General:
    + Reworked the unfinished implementation of `HUGETLB` from GotoBLAS
      for allocating huge memory pages as buffers on suitable systems.
    + Changed the unfinished implementation of `GEMM3M` for the generic
      target on all architectures to at least forward to regular GEMM.
    + Improved multithreaded `GEMM` performance for large non-skinny
      matrices.
    + Improved BLAS3 performance on larger multicore systems through
      improved parallelism.
    + Improved performance of the initial memory allocation by reducing
      locking overhead.
    + Improved performance of `GBMV` at small problem sizes by introducing
      a size barrier for the switch to multithreading.
    + Added an implementation of the `CBLAS_GEMM_BATCH` extension.
    + Fixed corner cases involving the handling of NAN and INFINITY
      arguments in `?SCAL` on all architectures.
    + Fixed NAN handling and potential accuracy issues in compilations
      with Intel ICX by supplying a suitable fp-model option by default.
    + It is now possible to register a callback function that replaces
      the built-in support for multithreading with an external backend
      like TBB (`openblas_set_threads_callback_function`).
    + Fixed potential duplication of suffixes in shared library naming.
    + Improved C compiler detection by the build system to tolerate
      more naming variants for gcc builds.
    + Fixed an unnecessary dependency of the utest on CBLAS.
    + Fixed spurious error reports from the BLAS extensions `utest`.
    + Fixed unwanted invocation of the `GEMM3M` tests in cross-
      compilation.
    + Fixed a flaw in the makefile build that could lead to the (forwarded request 1234589 from eeich)

OBS-URL: https://build.opensuse.org/request/show/1234592
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=66
2025-01-06 15:04:58 +00:00
caec615da5 Accepting request 1234589 from home:eeich:branches:science
- Update to version 0.3.27 (jsc#PED-9676):
  * General:
    + Reworked the unfinished implementation of `HUGETLB` from GotoBLAS
      for allocating huge memory pages as buffers on suitable systems.
    + Changed the unfinished implementation of `GEMM3M` for the generic
      target on all architectures to at least forward to regular GEMM.
    + Improved multithreaded `GEMM` performance for large non-skinny
      matrices.
    + Improved BLAS3 performance on larger multicore systems through
      improved parallelism.
    + Improved performance of the initial memory allocation by reducing
      locking overhead.
    + Improved performance of `GBMV` at small problem sizes by introducing
      a size barrier for the switch to multithreading.
    + Added an implementation of the `CBLAS_GEMM_BATCH` extension.
    + Fixed corner cases involving the handling of NAN and INFINITY
      arguments in `?SCAL` on all architectures.
    + Fixed NAN handling and potential accuracy issues in compilations
      with Intel ICX by supplying a suitable fp-model option by default.
    + It is now possible to register a callback function that replaces
      the built-in support for multithreading with an external backend
      like TBB (`openblas_set_threads_callback_function`).
    + Fixed potential duplication of suffixes in shared library naming.
    + Improved C compiler detection by the build system to tolerate
      more naming variants for gcc builds.
    + Fixed an unnecessary dependency of the utest on CBLAS.
    + Fixed spurious error reports from the BLAS extensions `utest`.
    + Fixed unwanted invocation of the `GEMM3M` tests in cross-
      compilation.
    + Fixed a flaw in the makefile build that could lead to the

OBS-URL: https://build.opensuse.org/request/show/1234589
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=184
2025-01-02 16:50:32 +00:00
d2b04c7c42 Accepting request 1190851 from science
- Duplicate all options passed to `make` also to `make install`:
  The openblas build output suggests this: 'Note that any flags
  passed to make during build should also be passed to make install
  to circumvent any install errors'.
  This also makes sure that minimum CPU requirement is set in
  the pkgconfig file is the same one as used for building.
  This helps to maintain a reproducible build (boo#1228177). (forwarded request 1190850 from eeich)

OBS-URL: https://build.opensuse.org/request/show/1190851
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=65
2024-08-02 15:25:25 +00:00
c3464afaf7 Accepting request 1190850 from home:eeich:branches:science
- Duplicate all options passed to `make` also to `make install`:
  The openblas build output suggests this: 'Note that any flags
  passed to make during build should also be passed to make install
  to circumvent any install errors'.
  This also makes sure that minimum CPU requirement is set in
  the pkgconfig file is the same one as used for building.
  This helps to maintain a reproducible build (boo#1228177).

OBS-URL: https://build.opensuse.org/request/show/1190850
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=182
2024-08-01 05:06:29 +00:00
42c7e85871 Accepting request 1190320 from science
- Make sure the minimum CPU requirement set in the pkgconfig (forwarded request 1190319 from eeich)

OBS-URL: https://build.opensuse.org/request/show/1190320
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=64
2024-07-30 09:53:50 +00:00
daf462652e Accepting request 1190319 from home:eeich:branches:science
- Make sure the minimum CPU requirement set in the pkgconfig

OBS-URL: https://build.opensuse.org/request/show/1190319
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=180
2024-07-29 17:47:20 +00:00
a974d174ed Accepting request 1190198 from home:eeich:branches:science
- Make sure the minimum requirement mentioned in the pkgconfig
  file is the same one as used for building. This also helps
  to maintain a reproducible build (boo#1228177).

OBS-URL: https://build.opensuse.org/request/show/1190198
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=179
2024-07-29 10:00:24 +00:00
1100f93cf3 Accepting request 1181635 from science
OBS-URL: https://build.opensuse.org/request/show/1181635
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openblas?expand=0&rev=63
2024-06-19 14:36:36 +00:00
f51c02a47c Accepting request 1180848 from home:Andreas_Schwab:Factory
- no-static.patch: do not link statically

OBS-URL: https://build.opensuse.org/request/show/1180848
OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=177
2024-06-19 03:35:07 +00:00
3 changed files with 12 additions and 258 deletions

View File

@@ -1,23 +0,0 @@
openSUSE specific packaging
===========================
OpenBLAS provides optimized implementations of BLAS and LAPACK.
openSUSE provides two variants:
* With OpenMP support
* With threading support
The serial variant has been dropped. To run a program
which requires the serial version (ie. because it is
multi-threaded itself), either specify the environment
variable OMP_NUM_THREADS=1 or place a call to
void openblas_set_num_threads(int num_threads);
in your program to limit the number of threads this library
uses to 1.
On x86 systems OpenBLAS uses dynamic architectures support,
so it contains all CPU-related optimizations.
How to switch between the various BLAS/LAPACK implementations
=============================================================
The openmp and threaded variants may be installed in parallel.
To select which one to use please use the 'modules' command.

View File

@@ -4,6 +4,11 @@ Fri May 30 08:46:09 UTC 2025 - Richard Biener <rguenther@suse.com>
- For SLES16 target POWER9 instead of POWER8 which fixes the
issue with the reported sgemm testsuite fails. [bsc#1239545]
-------------------------------------------------------------------
Mon Mar 24 13:16:09 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Disable and remove support for gnu-hpc build flavours (bsc#1239982)
-------------------------------------------------------------------
Mon Mar 17 08:51:26 UTC 2025 - Egbert Eich <eich@suse.com>

View File

@@ -19,8 +19,6 @@
%global flavor @BUILD_FLAVOR@%{nil}
%undefine sha1
%define _vers 0_3_29
%define vers 0.3.29
%define so_v 0
%define pname openblas
@@ -42,7 +40,6 @@ ExclusiveArch: do_not_build
%define openblas_so_prio 20
# we build devel packages only from one flavor
%define build_devel 1
%{bcond_with hpc}
%endif
%if "%flavor" == "pthreads"
@@ -53,7 +50,6 @@ ExclusiveArch: do_not_build
%else
%define openblas_so_prio 20
%endif
%{bcond_with hpc}
%endif
%if "%flavor" == "openmp"
@@ -63,105 +59,6 @@ ExclusiveArch: do_not_build
%define arch_flavor 1
%define openblas_so_prio 50
%endif
%{bcond_with hpc}
%endif
%if "%flavor" == "gnu-hpc"
%define compiler_family gnu
%undefine c_f_ver
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu-hpc-pthreads"
%define compiler_family gnu
%undefine c_f_ver
%define ext pthreads
%define build_flags USE_THREAD=1 USE_OPENMP=0
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu7-hpc"
%define compiler_family gnu
%define c_f_ver 7
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu7-hpc-pthreads"
%define compiler_family gnu
%define c_f_ver 7
%define ext pthreads
%define build_flags USE_THREAD=1 USE_OPENMP=0
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu8-hpc"
%define compiler_family gnu
%define c_f_ver 8
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu8-hpc-pthreads"
%define compiler_family gnu
%define c_f_ver 8
%define ext pthreads
%define build_flags USE_THREAD=1 USE_OPENMP=0
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu9-hpc"
%define compiler_family gnu
%define c_f_ver 9
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu9-hpc-pthreads"
%define compiler_family gnu
%define c_f_ver 9
%define ext pthreads
%define build_flags USE_THREAD=1 USE_OPENMP=0
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu10-hpc"
%define compiler_family gnu
%define c_f_ver 10
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu10-hpc-pthreads"
%define compiler_family gnu
%define c_f_ver 10
%define ext pthreads
%define build_flags USE_THREAD=1 USE_OPENMP=0
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu11-hpc"
%define compiler_family gnu
%define c_f_ver 11
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu11-hpc-pthreads"
%define compiler_family gnu
%define c_f_ver 11
%define ext pthreads
%define build_flags USE_THREAD=1 USE_OPENMP=0
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu12-hpc"
%define compiler_family gnu
%define c_f_ver 12
%{bcond_without hpc}
%endif
%if "%flavor" == "gnu12-hpc-pthreads"
%define compiler_family gnu
%define c_f_ver 12
%define ext pthreads
%define build_flags USE_THREAD=1 USE_OPENMP=0
%{bcond_without hpc}
%endif
%ifarch ppc64le
@@ -190,7 +87,6 @@ ExclusiveArch: do_not_build
%endif
%endif
%if %{without hpc}
%define so_a %{so_v}
%if 0%{!?package_name:1}
%define package_name %{pname}_%{flavor}
@@ -202,26 +98,6 @@ ExclusiveArch: do_not_build
%define p_cmakedir %{p_libdir}/cmake/%{pname}
%define num_threads 64
%else
%define so_a %{nil}
# Magic for OBS Staging. Only build the flavors required by
# other packages in the ring.
%if %{with ringdisabled}
ExclusiveArch: do_not_build
%endif
%define package_name %{hpc_package_name %_vers}
%define p_prefix %hpc_prefix
%define p_includedir %hpc_includedir
%define p_libdir %hpc_libdir
%define p_testdir %hpc_prefix/tests
%define p_cmakedir %{hpc_libdir}/cmake
%define num_threads 256
%{hpc_init -c %{compiler_family} %{?c_f_ver:-v %{c_f_ver}} %{?ext:-e %{ext}}}
%endif
%if 0%{?sha1:1}
%define v_string %{sha1}
%else
@@ -229,7 +105,7 @@ ExclusiveArch: do_not_build
%endif
Name: %{package_name}
Version: %vers
Version: 0.3.29
Release: 0
Summary: An optimized BLAS library based on GotoBLAS2
License: BSD-3-Clause
@@ -237,7 +113,6 @@ Group: Productivity/Scientific/Math
URL: http://www.openblas.net
Source0: https://github.com/xianyi/OpenBLAS/archive/%{v_string}.tar.gz#/OpenBLAS-%{version}%{?sha1:_%{sha1}}.tar.gz
Source1: README.SUSE
Source2: README.HPC.SUSE
Source3: openblas_tests.sh.in
Source4: openblas.rpmlintrc
# PATCH port
@@ -250,17 +125,10 @@ BuildRequires: memory-constraints
%if 0%{?cc_v:1}
BuildRequires: gcc%{?cc_v}-fortran
%endif
%if %{without hpc}
BuildRequires: gcc-fortran
BuildRequires: update-alternatives
Requires(post): update-alternatives
Requires(preun): update-alternatives
%else
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
BuildRequires: lua-lmod
BuildRequires: suse-hpc
%global dep_summary %{summary}
%endif
%description
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
@@ -268,7 +136,6 @@ OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
%package -n lib%{name}%{so_a}
Summary: An optimized BLAS library based on GotoBLAS2, %{flavor} version
Group: System/Libraries
%if %{without hpc}
Requires(post): update-alternatives
Requires(post): coreutils
Requires(preun): update-alternatives
@@ -284,38 +151,27 @@ Obsoletes: lib%{pname}p0
%if "%flavor" == "openmp"
Obsoletes: lib%{pname}o0
%endif
%else # with hpc
%hpc_requires
%endif
%description -n lib%{name}%{so_a}
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
%{?with_hpc:%{hpc_master_package -l -L}}
%package -n lib%{name}-devel
Summary: Development libraries for OpenBLAS, %{flavor} version
Group: Development/Libraries/C and C++
Requires: lib%{name}%{so_a} = %{version}
%if %{without hpc}
Requires: %{pname}-common-devel = %{version}
Requires: lib%{name}%{so_a} = %{version}
%if 0%{?arch_flavor}
Provides: %{pname}-devel = %version
Provides: %{pname}-devel(default) = %version
%else
Provides: %{pname}-devel(other) = %version
%endif
%else
%hpc_requires_devel
%endif
%description -n lib%{name}-devel
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
This package contains the development libraries for serial OpenBLAS version.
%{?with_hpc:%{hpc_master_package -l -L devel}}
%package devel-static
Summary: Static version of OpenBLAS
Group: Development/Libraries/C and C++
@@ -371,13 +227,8 @@ sed -i -e '/^OBJS_EXT+=/s@[^= ]*/test_dgemmt.o *@@' utest/Makefile
%endif
%endif
%if %{without hpc}
cp %{SOURCE1} .
%else
cp %{SOURCE2} .
%endif
%if %{without hpc}
# create baselibs.conf based on flavor
cat > %{_sourcedir}/baselibs.conf <<EOF
lib%{name}%{so_a}
@@ -387,7 +238,6 @@ lib%{name}-devel
requires -%{name}-<targettype>
requires "lib%{name}%{?so_a}-<targettype> = <version>"
EOF
%endif
%build
@@ -410,11 +260,6 @@ EOF
%global _lto_cflags %{nil}
%endif
%if %{with hpc}
%hpc_debug
%hpc_setup_compiler
%endif
# Use DYNAMIC_ARCH everywhere - not sure about PPC?
# Use DYNAMIC_ARCH to build for multiple targets, use TARGET to specify
# the CPU model assumed for the common code. It should be set to the
@@ -464,7 +309,7 @@ EOF
# set MAKE_NB_JOBS instead and let the build do the work!
# Do not use LIBNAMESUFFIX for new builds as it will not allow
# the different flavors to be plugin replacements of each other
%if 0%{?suse_version} <= 1500 && %{without hpc}
%if 0%{?suse_version} <= 1500
%define libnamesuffix LIBNAMESUFFIX=_%{flavor}
%endif
make MAKE_NB_JOBS=$jobs %{?openblas_target} %{?build_flags} \
@@ -477,14 +322,10 @@ make MAKE_NB_JOBS=$jobs %{?openblas_target} %{?build_flags} \
OPENBLAS_CMAKE_DIR=%{p_cmakedir} \
PREFIX=%{p_prefix} \
%{?dynamic_list} \
%{!?with_hpc:%{?libnamesuffix} FC=gfortran CC=gcc%{?cc_v:-%{cc_v}} %{?cc_v:CEXTRALIB=""}} \
%{?ldflags_tests:LDFLAGS_TESTS=%{ldflags_tests}} \
%{?with_hpc:%{?cc_v:CC=gcc-%{cc_v} FC=gfortran-%{cc_v} CEXTRALIB=""}}
%{?libnamesuffix} FC=gfortran CC=gcc%{?cc_v:-%{cc_v}} %{?cc_v:CEXTRALIB=""} \
%{?ldflags_tests:LDFLAGS_TESTS=%{ldflags_tests}}
%install
%if %{with hpc}
%hpc_setup_compiler
%endif
# Install library and headers
# Pass NUM_THREADS again, as it is not propagated from the build step
@@ -497,12 +338,11 @@ mkdir -p %{buildroot}/%{p_testdir}
OPENBLAS_INCLUDE_DIR=%{p_includedir} \
OPENBLAS_BINARY_DIR=%{p_testdir} \
OPENBLAS_CMAKE_DIR=%{p_cmakedir} \
%{!?with_hpc:%{?libnamesuffix} FC=gfortran CC=gcc%{?cc_v:-%{cc_v}} %{?cc_v:CEXTRALIB=""}} \
%{?libnamesuffix} FC=gfortran CC=gcc%{?cc_v:-%{cc_v}} %{?cc_v:CEXTRALIB=""} \
%{?ldflags_tests:LDFLAGS_TESTS=%{ldflags_tests}} \
%{?with_hpc:%{?cc_v:CC=gcc-%{cc_v} FC=gfortran-%{cc_v} CEXTRALIB=""}} \
PREFIX=%{p_prefix}
sed -e 's#@FLAVOR@#%{flavor}#' \
-e 's#@COMPILER@#%{?compiler_family:%compiler_family%{?hpc_gnu_dep_version:/%hpc_gnu_dep_version}}#' \
-e 's#@COMPILER@#%{?compiler_family:%compiler_family}}#' \
< %{S:3} > %{buildroot}/%{p_testdir}/openblas_tests.sh
chmod 0755 %{buildroot}/%{p_testdir}/openblas_tests.sh
for i in %{buildroot}/%{p_testdir}/*; do
@@ -518,8 +358,6 @@ done
%{buildroot}%{p_includedir}/openblas_config.h
%endif
%if %{without hpc}
%if 0%{!?build_devel:1}
# We need the includes only once
rm -rf %{buildroot}%{p_includedir}/
@@ -575,52 +413,6 @@ ln -s %{_sysconfdir}/alternatives/openblas-default%{?a_x}/cmake/openblas %{build
ln -s openblas-%{flavor}/lib%{pname}.so.%{so_v} %{buildroot}%{_libdir}/lib%{name}.so.%{so_v}
ln -s openblas-%{flavor}/lib%{pname}.so %{buildroot}%{_libdir}/lib%{name}.so
%endif
%else # with hpc
# HPC module file
%hpc_write_modules_files
#%%Module1.0#####################################################################
proc ModulesHelp { } {
puts stderr " "
puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler toolchain."
puts stderr "\nVersion %{version}\n"
}
module-whatis "Name: %{hpc_upcase %pname} built with %{compiler_family} toolchain"
module-whatis "Version: %{version}"
module-whatis "Category: runtime library"
module-whatis "Description: %{dep_summary}"
module-whatis "%{url}"
set version %{version}
prepend-path LD_LIBRARY_PATH %{p_libdir}
setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
if {[file isdirectory %{hpc_includedir}]} {
prepend-path LIBRARY_PATH %{p_libdir}
prepend-path CPATH %{p_includedir}
prepend-path C_INCLUDE_PATH %{p_includedir}
prepend-path CPLUS_INCLUDE_PATH %{p_includedir}
prepend-path INCLUDE %{p_includedir}
%hpc_modulefile_add_pkgconfig_path
setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
setenv %{hpc_upcase %pname}_LIB %{p_libdir}
setenv %{hpc_upcase %pname}_INC %{p_includedir}
}
family "openblas"
EOF
%{hpc_write_pkgconfig -l %{pname}}
%endif # with hpc
%if %{without hpc}
# Ensure directory used in older versions are replaced by symlink properly
%pre -n %{pname}-common-devel
@@ -656,17 +448,9 @@ if [ ! -d %{p_libdir} ]; then
fi
/sbin/ldconfig
%else
%postun -n lib%{name}
%hpc_module_delete_if_default
%endif
%files -n lib%{name}%{so_a}
%defattr(-,root,root,-)
%{p_libdir}/lib%{pname}.so.%{so_v}
%if %{without hpc}
%dir %{p_libdir}
%{?libnamesuffix:%{_libdir}/lib%{name}.so.%{so_v}}
# Created by %%post
@@ -681,26 +465,14 @@ fi
%ghost %{_sysconfdir}/alternatives/libcblas.so.3%{?a_x}
%ghost %{_sysconfdir}/alternatives/liblapack.so.3%{?a_x}
%ghost %{_sysconfdir}/alternatives/liblapacke.so.3%{?a_x}
%else
%hpc_dirs
%{p_libdir}/libopenblas*r*.so
%hpc_modules_files
%endif
%files -n lib%{name}-devel
%{p_libdir}/lib%{pname}.so
%{?libnamesuffix:%{_libdir}/lib%{name}.so}
%{p_cmakedir}/
%if %{with hpc}
%license LICENSE
%doc Changelog.txt GotoBLAS* README.md README.HPC.SUSE
%hpc_pkgconfig_file
%{p_includedir}/
%else
%dir %{p_libdir}/cmake
%dir %{p_libdir}/pkgconfig
%{p_libdir}/pkgconfig
%endif
%files tests
%dir %{p_testdir}