File: 0002-Fix-missing-lapack-blas.patch

package info (click to toggle)
hipblas 6.4.3-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 26,548 kB
  • sloc: cpp: 209,856; f90: 49,800; python: 4,680; ansic: 1,141; sh: 799; makefile: 50; xml: 23
file content (81 lines) | stat: -rw-r--r-- 5,163 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
From: Cordell Bloor <cgmb@debian.org>
Date: Wed, 12 Nov 2025 15:41:03 -0700
Subject: use generic blas and lapack

The upstream project typically uses either the AOCL BLIS library or the
Netlib BLAS library as the reference implementation in the test suite on
Linux. However, the OpenBLAS library is used by upstream on Windows. It
would be nice to use OpenBLAS on Debian for performance reasons (as the
test suite is heavily CPU-bound), however, the Netlib implementation
seems to be more reliable for achieving a full suite of passing tests.

Forwarded: no
---
 clients/CMakeLists.txt | 54 ++++----------------------------------------------
 1 file changed, 4 insertions(+), 50 deletions(-)

diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt
index 7cad5e1..2a09cca 100644
--- a/clients/CMakeLists.txt
+++ b/clients/CMakeLists.txt
@@ -140,56 +140,10 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS)
   message(STATUS "CLIENT COMMON CXX_OPTIONS: ${COMMON_CXX_OPTIONS}")
   message(STATUS "CLIENT COMMON LINK: ${COMMON_LINK_LIBS}")
 
-  if( NOT WIN32 )
-    if (LINK_BLIS)
-      if(EXISTS          "${BUILD_DIR}/deps/amd-blis/lib/ILP64/libflame.a" AND EXISTS "${BUILD_DIR}/deps/amd-blis/lib/ILP64/libblis-mt.a") # 4.0 and 4.1.0
-        set( BLAS_LIBRARY ${BUILD_DIR}/deps/amd-blis/lib/ILP64/libflame.a ${BUILD_DIR}/deps/amd-blis/lib/ILP64/libblis-mt.a )
-        set( BLIS_INCLUDE_DIR ${BUILD_DIR}/deps/amd-blis/include/ILP64 )
-        list( APPEND COMMON_DEFINES "FLA_ENABLE_ILP64")
-      elseif(EXISTS "/opt/AMD/aocl/aocl-linux-gcc-4.2.0/gcc/lib_ILP64/libflame.a" AND EXISTS "/opt/AMD/aocl/aocl-linux-gcc-4.2.0/gcc/lib_ILP64/libblis-mt.a" AND EXISTS "/opt/AMD/aocl/aocl-linux-gcc-4.2.0/gcc/lib_ILP64/libaoclutils.a" )
-        set( BLAS_LIBRARY -Wl,--allow-multiple-definition /opt/AMD/aocl/aocl-linux-gcc-4.2.0/gcc/lib_ILP64/libflame.a /opt/AMD/aocl/aocl-linux-gcc-4.2.0/gcc/lib_ILP64/libblis-mt.a /opt/AMD/aocl/aocl-linux-gcc-4.2.0/gcc/lib_ILP64/libaoclutils.a )
-        set( BLIS_INCLUDE_DIR /opt/AMD/aocl/aocl-linux-gcc-4.2.0/gcc/include_ILP64/ )
-        list( APPEND COMMON_DEFINES "FLA_ENABLE_ILP64")
-      elseif(EXISTS      "/opt/AMD/aocl/aocl-linux-aocc-4.1.0/aocc/lib_ILP64/libflame.a" AND EXISTS "/opt/AMD/aocl/aocl-linux-aocc-4.1.0/aocc/lib_ILP64/libblis-mt.a" )
-        set( BLAS_LIBRARY /opt/AMD/aocl/aocl-linux-aocc-4.1.0/aocc/lib_ILP64/libflame.a              /opt/AMD/aocl/aocl-linux-aocc-4.1.0/aocc/lib_ILP64/libblis-mt.a )
-        set( BLIS_INCLUDE_DIR /opt/AMD/aocl/aocl-linux-aocc-4.1.0/aocc/include_ILP64/ )
-        list( APPEND COMMON_DEFINES "FLA_ENABLE_ILP64")
-      elseif(EXISTS      "/opt/AMD/aocl/aocl-linux-aocc-4.0/lib_ILP64/libflame.a" AND EXISTS "/opt/AMD/aocl/aocl-linux-aocc-4.0/lib_ILP64/libblis-mt.a" )
-        set( BLAS_LIBRARY /opt/AMD/aocl/aocl-linux-aocc-4.0/lib_ILP64/libflame.a              /opt/AMD/aocl/aocl-linux-aocc-4.0/lib_ILP64/libblis-mt.a )
-        set( BLIS_INCLUDE_DIR /opt/AMD/aocl/aocl-linux-aocc-4.0/include_ILP64/ )
-        list( APPEND COMMON_DEFINES "FLA_ENABLE_ILP64")
-      else()
-        # fallbacks include earlier blis
-        get_lapack( LAPACK_LIB LAPACK_INCLUDE_DIR )
-        get_cblas( BLAS_LIBRARY BLAS_INCLUDE_DIR )
-        list( PREPEND BLAS_LIBRARY ${LAPACK_LIB} )
-      endif()
-    else()
-      # Linking lapack library requires fortran flags
-      get_lapack( LAPACK_LIB LAPACK_INCLUDE_DIR )
-      get_cblas( BLAS_LIBRARY BLAS_INCLUDE_DIR )
-      list( PREPEND BLAS_LIBRARY ${LAPACK_LIB} )
-    endif()
-  else() # WIN32
-    file(TO_CMAKE_PATH "C:/Program\ Files/AMD/AOCL-Windows" AOCL_ROOT)
-    if (LINK_BLIS AND EXISTS "C:/Program\ Files/AMD/AOCL-Windows/amd-blis/lib/ILP64/AOCL-LibBlis-Win-MT.lib" AND EXISTS "C:/Program\ Files/AMD/AOCL-Windows/amd-libflame/lib/ILP64/AOCL-LibFlame-Win-MT.lib" AND EXISTS "C:/Program\ Files/AMD/AOCL-Windows/amd-utils/lib/libaoclutils_static.lib" )
-      set( BLAS_LIBRARY "-l\"C:/Program\ Files/AMD/AOCL-Windows/amd-blis/lib/ILP64/AOCL-LibBlis-Win-MT\"" "-l\"C:/Program\ Files/AMD/AOCL-Windows/amd-libflame/lib/ILP64/AOCL-LibFlame-Win-MT\"" "-l\"C:/Program\ Files/AMD/AOCL-Windows/amd-utils/lib/libaoclutils_static\"" )
-      set( BLIS_INCLUDE_DIR "C:/Program\ Files/AMD/AOCL-Windows/amd-blis/include/ILP64" )
-      set( FLAME_INCLUDE_DIR "C:/Program\ Files/AMD/AOCL-Windows/amd-libflame/include/ILP64" )
-      set( BLIS_DEFINES BLIS_ENABLE_NO_UNDERSCORE_API BLIS_ENABLE_CBLAS )
-    else()
-      set( BLAS_INCLUDE_DIR ${OPENBLAS_DIR}/include CACHE PATH "OpenBLAS library include path" )
-      find_library( BLAS_LIBRARY libopenblas
-                    PATHS ${OPENBLAS_DIR}/lib
-                    NO_DEFAULT_PATH
-                  )
-      if (NOT BLAS_LIBRARY)
-        find_package( OPENBLAS CONFIG REQUIRED )
-        set( BLAS_LIBRARY OpenBLAS::OpenBLAS )
-        set( BLAS_INCLUDE_DIR "" )
-      endif()
-    endif()
-  endif()
+  # Debian: Use generic system LAPACK and BLAS
+  find_package(LAPACK REQUIRED MODULE)
+  find_package(BLAS REQUIRED MODULE)
+  set(BLAS_LIBRARY LAPACK::LAPACK BLAS::BLAS)
 
   if ( DEFINED BLIS_INCLUDE_DIR )
     set( BLIS_CPP ../common/blis_interface.cpp )