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

Konstantin Gizdov kgizdov at archlinux.org
Thu Oct 1 21:54:02 UTC 2020


    Date: Thursday, October 1, 2020 @ 21:54:02
  Author: kgizdov
Revision: 714404

upgpkg: magma 2.5.3-4: cuda 11.1 rebuild

Added:
  magma/trunk/cuda11.1.patch
Modified:
  magma/trunk/PKGBUILD
Deleted:
  magma/trunk/cuda11.patch

----------------+
 PKGBUILD       |   22 +++++++-------
 cuda11.1.patch |   84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cuda11.patch   |   57 -------------------------------------
 3 files changed, 95 insertions(+), 68 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-10-01 21:53:53 UTC (rev 714403)
+++ PKGBUILD	2020-10-01 21:54:02 UTC (rev 714404)
@@ -5,25 +5,25 @@
 
 pkgname=magma
 pkgver=2.5.3
-pkgrel=3
+pkgrel=4
 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' 'ninja')
+depends=('blas' 'lapack' 'cuda')
+makedepends=('gcc-fortran' 'cmake' 'ninja')
 optdepends=('python: for examples and tests'
-            'gcc9-fortran: Fortran interface')
+            'gcc-fortran: Fortran interface')
 source=("${pkgname}-${pkgver}.tar.gz::http://icl.cs.utk.edu/projectsfiles/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz"
-        'cuda11.patch'
+        'cuda11.1.patch'
         'disable_magma_sparse.patch')
 sha256sums=('c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6'
-            '7a32d8de6fa845131eed3f7345baeb1531ef1d3cfa7e565b258e4cfbbaa66a5c'
+            '4d6e7e844a5aa5a771480a1fa61daaf85981f52d852ee444d7ffda63ac9a2db2'
             '259c38004b26395278cdaf431591974e0589dedc0f8bfc14413f854c2a10424f')
 
 prepare() {
   cd ${pkgname}-${pkgver}
-  patch -Np1 -i "${srcdir}/cuda11.patch"
+  patch -Np1 -i "${srcdir}/cuda11.1.patch"
 
   # Temporarily disable magma-sparse until it's fixed by magma upstream:
   # https://bugs.archlinux.org/task/67094
@@ -33,9 +33,9 @@
 build() {
   cd ${pkgname}-${pkgver}
 
-  CC=gcc-9 \
-  CXX=g++-9 \
-  FC=gfortran-9 \
+  CC=/usr/bin/gcc \
+  CXX=/usr/bin/g++ \
+  FC=/usr/bin/gfortran \
   cmake \
     -Bbuild \
     -GNinja \
@@ -42,7 +42,7 @@
     -DCMAKE_BUILD_TYPE=Release \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DBUILD_SHARED_LIBS=ON \
-    -DGPU_TARGET="sm_53 sm_60 sm_61 sm_62 sm_70 sm_72 sm_75 sm_80"
+    -DGPU_TARGET="sm_52 sm_53 sm_60 sm_61 sm_62 sm_70 sm_72 sm_75 sm_80 sm_86"
   ninja -C build
 }
 

Added: cuda11.1.patch
===================================================================
--- cuda11.1.patch	                        (rev 0)
+++ cuda11.1.patch	2020-10-01 21:54:02 UTC (rev 714404)
@@ -0,0 +1,84 @@
+diff -aur --color magma-2.5.3-old/CMakeLists.txt magma-2.5.3-new/CMakeLists.txt
+--- magma-2.5.3-old/CMakeLists.txt	2020-10-01 23:41:29.087168262 +0300
++++ magma-2.5.3-new/CMakeLists.txt	2020-10-01 23:46:00.735320487 +0300
+@@ -101,7 +101,7 @@
+ 
+ # ----------------------------------------
+ # locate CUDA libraries
+-set( GPU_TARGET "Kepler Maxwell Pascal" CACHE STRING "CUDA architectures to compile for; one or more of Fermi, Kepler, Maxwell, Pascal, Volta, or valid sm_[0-9][0-9]" )
++set( GPU_TARGET "Kepler Maxwell Pascal" CACHE STRING "CUDA architectures to compile for; one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere or valid sm_[0-9][0-9]" )
+ find_package( CUDA )
+ if (CUDA_FOUND)
+     message( STATUS "Found CUDA ${CUDA_VERSION}" )
+@@ -136,21 +136,25 @@
+     endif()
+ 
+     if (${GPU_TARGET} MATCHES Maxwell)
+-        set( GPU_TARGET "${GPU_TARGET} sm_50" )
++        set( GPU_TARGET "${GPU_TARGET} sm_50 sm_52 sm_53" )
+     endif()
+ 
+     if (${GPU_TARGET} MATCHES Pascal)
+-        set( GPU_TARGET "${GPU_TARGET} sm_60" )
++        set( GPU_TARGET "${GPU_TARGET} sm_60 sm_61 sm_62" )
+     endif()
+ 
+     if (${GPU_TARGET} MATCHES Volta)
+-        set( GPU_TARGET "${GPU_TARGET} sm_70" )
++        set( GPU_TARGET "${GPU_TARGET} sm_70 sm_72" )
+     endif()
+ 
+     if (${GPU_TARGET} MATCHES Turing)
+         set( GPU_TARGET "${GPU_TARGET} sm_75" )
+     endif()
+ 
++    if (${GPU_TARGET} MATCHES Ampere)
++        set( GPU_TARGET "${GPU_TARGET} sm_80 sm_86" )
++    endif()
++
+     if (${GPU_TARGET} MATCHES sm_20)
+         if (NOT MIN_ARCH)
+             set( MIN_ARCH 200 )
+@@ -259,8 +263,26 @@
+         message( STATUS "    compile for CUDA arch 7.5 (Turing)" )
+     endif()
+ 
++    if (${GPU_TARGET} MATCHES sm_80)
++        if (NOT MIN_ARCH)
++            set( MIN_ARCH 800 )
++        endif()
++        set( NV_SM ${NV_SM} -gencode arch=compute_80,code=sm_80 )
++        set( NV_COMP        -gencode arch=compute_80,code=compute_80 )
++        message( STATUS "    compile for CUDA arch 8.0 (Ampere)" )
++    endif()
++
++    if (${GPU_TARGET} MATCHES sm_86)
++        if (NOT MIN_ARCH)
++            set( MIN_ARCH 860 )
++        endif()
++        set( NV_SM ${NV_SM} -gencode arch=compute_86,code=sm_86 )
++        set( NV_COMP        -gencode arch=compute_86,code=compute_86 )
++        message( STATUS "    compile for CUDA arch 8.6 (Ampere)" )
++    endif()
++
+     if (NOT MIN_ARCH)
+-        message( FATAL_ERROR "GPU_TARGET must contain one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, or valid sm_[0-9][0-9]" )
++        message( FATAL_ERROR "GPU_TARGET must contain one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere or valid sm_[0-9][0-9]" )
+     endif()
+ 
+         set( CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -fPIC -DHAVE_CUBLAS ${NV_SM} ${NV_COMP} ${FORTRAN_CONVENTION} )
+diff -aur --color magma-2.5.3-old/interface_cuda/interface.cpp magma-2.5.3-new/interface_cuda/interface.cpp
+--- magma-2.5.3-old/interface_cuda/interface.cpp	2020-03-30 03:48:24.000000000 +0300
++++ magma-2.5.3-new/interface_cuda/interface.cpp	2020-06-22 15:48:15.192500739 +0300
+@@ -458,7 +458,11 @@
+             err = cudaPointerGetAttributes( &attr, const_cast<void*>( A ));
+             if ( ! err ) {
+                 // definitely know type
++#if (CUDA_VERSION >= 10000)
++                return (attr.type == cudaMemoryTypeDevice);
++#else
+                 return (attr.memoryType == cudaMemoryTypeDevice);
++#endif
+             }
+             else if ( err == cudaErrorInvalidValue ) {
+                 // clear error; see http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=529

Deleted: cuda11.patch
===================================================================
--- cuda11.patch	2020-10-01 21:53:53 UTC (rev 714403)
+++ cuda11.patch	2020-10-01 21:54:02 UTC (rev 714404)
@@ -1,57 +0,0 @@
-diff -aur --color magma-2.5.3-old/CMakeLists.txt magma-2.5.3-new/CMakeLists.txt
---- magma-2.5.3-old/CMakeLists.txt  2020-06-22 16:18:13.789152294 +0300
-+++ magma-2.5.3-new/CMakeLists.txt  2020-06-22 17:00:01.365798021 +0300
-@@ -101,7 +101,7 @@
-
- # ----------------------------------------
- # locate CUDA libraries
--set( GPU_TARGET "Kepler Maxwell Pascal" CACHE STRING "CUDA architectures to compile for; one or more of Fermi, Kepler, Maxwell, Pascal, Volta, or valid sm_[0-9][0-9]" )
-+set( GPU_TARGET "Kepler Maxwell Pascal" CACHE STRING "CUDA architectures to compile for; one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere or valid sm_[0-9][0-9]" )
- find_package( CUDA )
- if (CUDA_FOUND)
-     message( STATUS "Found CUDA ${CUDA_VERSION}" )
-@@ -151,6 +151,10 @@
-         set( GPU_TARGET "${GPU_TARGET} sm_75" )
-     endif()
- 
-+    if (${GPU_TARGET} MATCHES Ampere)
-+        set( GPU_TARGET "${GPU_TARGET} sm_80" )
-+    endif()
-+
-     if (${GPU_TARGET} MATCHES sm_20)
-         if (NOT MIN_ARCH)
-             set( MIN_ARCH 200 )
-@@ -259,8 +263,17 @@
-         message( STATUS "    compile for CUDA arch 7.5 (Turing)" )
-     endif()
- 
-+    if (${GPU_TARGET} MATCHES sm_80)
-+        if (NOT MIN_ARCH)
-+            set( MIN_ARCH 800 )
-+        endif()
-+        set( NV_SM ${NV_SM} -gencode arch=compute_80,code=sm_80 )
-+        set( NV_COMP        -gencode arch=compute_80,code=compute_80 )
-+        message( STATUS "    compile for CUDA arch 8.0 (Ampere)" )
-+    endif()
-+
-     if (NOT MIN_ARCH)
--        message( FATAL_ERROR "GPU_TARGET must contain one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, or valid sm_[0-9][0-9]" )
-+        message( FATAL_ERROR "GPU_TARGET must contain one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere or valid sm_[0-9][0-9]" )
-     endif()
- 
-         set( CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -fPIC -DHAVE_CUBLAS ${NV_SM} ${NV_COMP} ${FORTRAN_CONVENTION} )
-diff -aur --color magma-2.5.3-old/interface_cuda/interface.cpp magma-2.5.3-new/interface_cuda/interface.cpp
---- magma-2.5.3-old/interface_cuda/interface.cpp	2020-03-30 03:48:24.000000000 +0300
-+++ magma-2.5.3-new/interface_cuda/interface.cpp	2020-06-22 15:48:15.192500739 +0300
-@@ -458,7 +458,11 @@
-             err = cudaPointerGetAttributes( &attr, const_cast<void*>( A ));
-             if ( ! err ) {
-                 // definitely know type
-+#if (CUDA_VERSION >= 10000)
-+                return (attr.type == cudaMemoryTypeDevice);
-+#else
-                 return (attr.memoryType == cudaMemoryTypeDevice);
-+#endif
-             }
-             else if ( err == cudaErrorInvalidValue ) {
-                 // clear error; see http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=529



More information about the arch-commits mailing list