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

2020-06-22 Thread Konstantin Gizdov via arch-commits
Date: Monday, June 22, 2020 @ 14:04:08
  Author: kgizdov
Revision: 650558

update patch

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

--+
 PKGBUILD |2 +-
 cuda11.patch |   28 ++--
 2 files changed, 27 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===
--- PKGBUILD2020-06-22 13:51:44 UTC (rev 650557)
+++ PKGBUILD2020-06-22 14:04:08 UTC (rev 650558)
@@ -17,7 +17,7 @@
 
source=("${pkgname}-${pkgver}.tar.gz::http://icl.cs.utk.edu/projectsfiles/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz";
 'cuda11.patch')
 sha256sums=('c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6'
-'958467ea765b025a89b53bb74d7aea476d01c926ae0631ba0ed5520f9c697646')
+'7a32d8de6fa845131eed3f7345baeb1531ef1d3cfa7e565b258e4cfbbaa66a5c')
 
 prepare() {
   mkdir "${srcdir}"/build

Modified: cuda11.patch
===
--- cuda11.patch2020-06-22 13:51:44 UTC (rev 650557)
+++ cuda11.patch2020-06-22 14:04:08 UTC (rev 650558)
@@ -1,6 +1,15 @@
 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.0 +0300
-+++ magma-2.5.3-new/CMakeLists.txt 2020-06-22 13:45:54.865895509 +0300
+--- 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()
@@ -31,3 +40,18 @@
  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.0 +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( A ));
+ if ( ! err ) {
+ // definitely know type
++#if (CUDA_VERSION >= 1)
++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


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

2020-06-22 Thread Konstantin Gizdov via arch-commits
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
===
--- PKGBUILD2020-06-22 10:03:44 UTC (rev 650374)
+++ PKGBUILD2020-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.patch2020-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.0 +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} )