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

Konstantin Gizdov kgizdov at archlinux.org
Mon Jun 22 11:00:17 UTC 2020


    Date: Monday, June 22, 2020 @ 11:00:17
  Author: kgizdov
Revision: 650375

cuda11 rebuild

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

--------------+
 PKGBUILD     |   37 ++++++++++++++++++++++---------------
 cuda11.patch |   33 +++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 15 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-06-22 10:03:44 UTC (rev 650374)
+++ PKGBUILD	2020-06-22 11:00:17 UTC (rev 650375)
@@ -10,36 +10,43 @@
 arch=('x86_64')
 url="https://icl.cs.utk.edu/magma/"
 license=('custom')
-depends=('blas' 'lapack' 'cuda')
-makedepends=('gcc-fortran' 'cmake')
-optdepends=('python2: for examples and tests')
-source=("http://icl.cs.utk.edu/projectsfiles/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz")
-sha256sums=('c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6')
+depends=('blas' 'gcc9' 'lapack' 'cuda')
+makedepends=('gcc9-fortran' 'cmake')
+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')
+sha256sums=('c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6'
+            '958467ea765b025a89b53bb74d7aea476d01c926ae0631ba0ed5520f9c697646')
 
 prepare() {
-  mkdir "${srcdir}/magma-${pkgver}"/build
+  mkdir "${srcdir}"/build
+  patch -Np1 -i "${srcdir}/cuda11.patch" -d "${srcdir}/${pkgname}-${pkgver}"
 }
 
 build() {
-  cd "${srcdir}/magma-${pkgver}"/build
+  cd "${srcdir}"/build
 
-  cmake .. \
+  CC=gcc-9 \
+  CXX=g++-9 \
+  FC=gfortran-9 \
+  cmake "${srcdir}/${pkgname}-${pkgver}" \
     -DCMAKE_BUILD_TYPE=Release \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DBUILD_SHARED_LIBS=ON \
-    -DGPU_TARGET="sm_30 sm_32 sm_35 sm_37 sm_50 sm_53 sm_60 sm_61 sm_62 sm_70 sm_72 sm_75"
+    -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
 }
 
 package() {
-  cd "${srcdir}"/magma-${pkgver}/build
+  cd "${srcdir}"/build
   make DESTDIR="${pkgdir}" install
 
-  mkdir -p ${pkgdir}/usr/share/magma/example
-  cp -r ${srcdir}/magma-${pkgver}/example/* ${pkgdir}/usr/share/magma/example/
-  mkdir -p ${pkgdir}/usr/share/magma/testing
-  cp -r ${srcdir}/magma-${pkgver}/testing/* ${pkgdir}/usr/share/magma/testing/
-  install -Dm644 ${srcdir}/magma-${pkgver}/COPYRIGHT ${pkgdir}/usr/share/licenses/magma/LICENSE
+  install -d "${pkgdir}"/usr/share/magma/example
+  cp -r "${srcdir}"/magma-${pkgver}/example/* "${pkgdir}"/usr/share/magma/example/
+  install -d "${pkgdir}"/usr/share/magma/testing
+  cp -r "${srcdir}"/magma-${pkgver}/testing/* "${pkgdir}"/usr/share/magma/testing/
+  install -Dm644 "${srcdir}"/magma-${pkgver}/COPYRIGHT "${pkgdir}"/usr/share/licenses/magma/LICENSE
 }
 
 # vim:set ts=2 sw=2 et:

Added: cuda11.patch
===================================================================
--- cuda11.patch	                        (rev 0)
+++ cuda11.patch	2020-06-22 11:00:17 UTC (rev 650375)
@@ -0,0 +1,33 @@
+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-03-30 03:48:20.000000000 +0300
++++ magma-2.5.3-new/CMakeLists.txt	2020-06-22 13:45:54.865895509 +0300
+@@ -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} )



More information about the arch-commits mailing list