[arch-commits] Commit in magma/trunk (PKGBUILD disable_magma_sparse.patch)

Sven-Hendrik Haase svenstaro at archlinux.org
Mon Jul 13 01:04:20 UTC 2020


    Date: Monday, July 13, 2020 @ 01:04:19
  Author: svenstaro
Revision: 663386

upgpkg: magma 2.5.3-2: cuda 11 rebuild

I had to disable magma-sparse for the time being but that's ok as pytorch doesn't need it.

Added:
  magma/trunk/disable_magma_sparse.patch
Modified:
  magma/trunk/PKGBUILD

----------------------------+
 PKGBUILD                   |   32 ++++++++++++-------
 disable_magma_sparse.patch |   69 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 89 insertions(+), 12 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-07-13 00:35:19 UTC (rev 663385)
+++ PKGBUILD	2020-07-13 01:04:19 UTC (rev 663386)
@@ -5,42 +5,50 @@
 
 pkgname=magma
 pkgver=2.5.3
-pkgrel=1
+pkgrel=2
 pkgdesc="Matrix Algebra on GPU and Multicore Architectures"
 arch=('x86_64')
 url="https://icl.cs.utk.edu/magma/"
 license=('custom')
 depends=('blas' 'gcc9' 'lapack' 'cuda')
-makedepends=('gcc9-fortran' 'cmake')
+makedepends=('gcc9-fortran' 'cmake' 'ninja')
 optdepends=('python2: for examples and tests'
             'gcc9-fortran: Fortran interface')
 source=("${pkgname}-${pkgver}.tar.gz::http://icl.cs.utk.edu/projectsfiles/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz"
-        'cuda11.patch')
+        'cuda11.patch'
+        'disable_magma_sparse.patch')
 sha256sums=('c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6'
-            '7a32d8de6fa845131eed3f7345baeb1531ef1d3cfa7e565b258e4cfbbaa66a5c')
+            '7a32d8de6fa845131eed3f7345baeb1531ef1d3cfa7e565b258e4cfbbaa66a5c'
+            '259c38004b26395278cdaf431591974e0589dedc0f8bfc14413f854c2a10424f')
 
 prepare() {
-  mkdir "${srcdir}"/build
-  patch -Np1 -i "${srcdir}/cuda11.patch" -d "${srcdir}/${pkgname}-${pkgver}"
+  cd ${pkgname}-${pkgver}
+  patch -Np1 -i "${srcdir}/cuda11.patch"
+
+  # Temporarily disable magma-sparse until it's fixed by magma upstream:
+  # https://bugs.archlinux.org/task/67094
+  patch -Np1 -i "${srcdir}/disable_magma_sparse.patch"
 }
 
 build() {
-  cd "${srcdir}"/build
+  cd ${pkgname}-${pkgver}
 
   CC=gcc-9 \
   CXX=g++-9 \
   FC=gfortran-9 \
-  cmake "${srcdir}/${pkgname}-${pkgver}" \
+  cmake \
+    -Bbuild \
+    -GNinja \
     -DCMAKE_BUILD_TYPE=Release \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DBUILD_SHARED_LIBS=ON \
-    -DGPU_TARGET="sm_35 sm_37 sm_50 sm_53 sm_60 sm_61 sm_62 sm_70 sm_72 sm_75 sm_80"
-  make
+    -DGPU_TARGET="sm_53 sm_60 sm_61 sm_62 sm_70 sm_72 sm_75 sm_80"
+  ninja -C build
 }
 
 package() {
-  cd "${srcdir}"/build
-  make DESTDIR="${pkgdir}" install
+  cd ${pkgname}-${pkgver}
+  DESTDIR="${pkgdir}" ninja -Cbuild install
 
   install -d "${pkgdir}"/usr/share/magma/example
   cp -r "${srcdir}"/magma-${pkgver}/example/* "${pkgdir}"/usr/share/magma/example/

Added: disable_magma_sparse.patch
===================================================================
--- disable_magma_sparse.patch	                        (rev 0)
+++ disable_magma_sparse.patch	2020-07-13 01:04:19 UTC (rev 663386)
@@ -0,0 +1,69 @@
+diff -ruN magma-2.5.3/CMakeLists.txt magma-2.5.3-patched/CMakeLists.txt
+--- magma-2.5.3/CMakeLists.txt	2020-03-30 02:48:20.000000000 +0200
++++ magma-2.5.3-patched/CMakeLists.txt	2020-07-13 02:39:59.957710966 +0200
+@@ -491,19 +504,19 @@
+ # compile MAGMA sparse library
+ 
+ # sparse doesn't have Fortran at the moment, so no need for above shenanigans
+-include_directories( sparse/include )
+-include_directories( sparse/control )
+-include_directories( testing )
+-cuda_add_library( magma_sparse ${libsparse_all} )
+-target_link_libraries( magma_sparse
+-    magma
+-    ${blas_fix}
+-    ${LAPACK_LIBRARIES}
+-    ${CUDA_CUDART_LIBRARY}
+-    ${CUDA_CUBLAS_LIBRARIES}
+-    ${CUDA_cusparse_LIBRARY}
+-)
+-add_custom_target( sparse-lib DEPENDS magma_sparse )
++# include_directories( sparse/include )
++# include_directories( sparse/control )
++# include_directories( testing )
++# cuda_add_library( magma_sparse ${libsparse_all} )
++# target_link_libraries( magma_sparse
++#     magma
++#     ${blas_fix}
++#     ${LAPACK_LIBRARIES}
++#     ${CUDA_CUDART_LIBRARY}
++#     ${CUDA_CUBLAS_LIBRARIES}
++#     ${CUDA_cusparse_LIBRARY}
++# )
++# add_custom_target( sparse-lib DEPENDS magma_sparse )
+ 
+ 
+ # ----------------------------------------
+@@ -534,21 +547,21 @@
+ 
+ # ----------------------------------------
+ # compile each sparse tester
+-set( CMAKE_RUNTIME_OUTPUT_DIRECTORY sparse/testing )
+-foreach( TEST ${sparse_testing_all} )
+-    string( REGEX REPLACE "\\.(cpp|f90|F90)"     "" EXE ${TEST} )
+-    string( REGEX REPLACE "sparse/testing/" "" EXE ${EXE} )
+-    #message( "${TEST} --> ${EXE}" )
+-    add_executable( ${EXE} ${TEST} )
+-    target_link_libraries( ${EXE} magma_sparse magma )
+-    list( APPEND sparse-testing ${EXE} )
+-endforeach()
+-add_custom_target( sparse-testing DEPENDS ${sparse-testing} )
++# set( CMAKE_RUNTIME_OUTPUT_DIRECTORY sparse/testing )
++# foreach( TEST ${sparse_testing_all} )
++#     string( REGEX REPLACE "\\.(cpp|f90|F90)"     "" EXE ${TEST} )
++#     string( REGEX REPLACE "sparse/testing/" "" EXE ${EXE} )
++#     #message( "${TEST} --> ${EXE}" )
++#     add_executable( ${EXE} ${TEST} )
++#     target_link_libraries( ${EXE} magma_sparse magma )
++#     list( APPEND sparse-testing ${EXE} )
++# endforeach()
++# add_custom_target( sparse-testing DEPENDS ${sparse-testing} )
+ 
+ 
+ # ----------------------------------------
+ # what to install
+-install( TARGETS magma magma_sparse ${blas_fix}
++install( TARGETS magma ${blas_fix}
+          RUNTIME DESTINATION bin
+          LIBRARY DESTINATION lib
+          ARCHIVE DESTINATION lib )



More information about the arch-commits mailing list