Date: Sunday, December 20, 2020 @ 04:52:52 Author: svenstaro Revision: 780077
upgpkg: magma 2.5.4-1 Modified: magma/trunk/PKGBUILD Deleted: magma/trunk/cuda11.1.patch magma/trunk/disable_magma_sparse.patch ----------------------------+ PKGBUILD | 21 ++-------- cuda11.1.patch | 84 ------------------------------------------- disable_magma_sparse.patch | 69 ----------------------------------- 3 files changed, 4 insertions(+), 170 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-12-20 04:42:30 UTC (rev 780076) +++ PKGBUILD 2020-12-20 04:52:52 UTC (rev 780077) @@ -4,8 +4,8 @@ # Contributor: cornholio <[email protected]> pkgname=magma -pkgver=2.5.3 -pkgrel=4 +pkgver=2.5.4 +pkgrel=1 pkgdesc="Matrix Algebra on GPU and Multicore Architectures" arch=('x86_64') url="https://icl.cs.utk.edu/magma/" @@ -14,22 +14,9 @@ makedepends=('gcc-fortran' 'cmake' 'ninja') optdepends=('python: for examples and tests' 'gcc-fortran: Fortran interface') -source=("${pkgname}-${pkgver}.tar.gz::http://icl.cs.utk.edu/projectsfiles/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz" - 'cuda11.1.patch' - 'disable_magma_sparse.patch') -sha256sums=('c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6' - '4d6e7e844a5aa5a771480a1fa61daaf85981f52d852ee444d7ffda63ac9a2db2' - '259c38004b26395278cdaf431591974e0589dedc0f8bfc14413f854c2a10424f') +source=("${pkgname}-${pkgver}.tar.gz::http://icl.cs.utk.edu/projectsfiles/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz") +sha256sums=('7734fb417ae0c367b418dea15096aef2e278a423e527c615aab47f0683683b67') -prepare() { - cd ${pkgname}-${pkgver} - patch -Np1 -i "${srcdir}/cuda11.1.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 ${pkgname}-${pkgver} Deleted: cuda11.1.patch =================================================================== --- cuda11.1.patch 2020-12-20 04:42:30 UTC (rev 780076) +++ cuda11.1.patch 2020-12-20 04:52:52 UTC (rev 780077) @@ -1,84 +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-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: disable_magma_sparse.patch =================================================================== --- disable_magma_sparse.patch 2020-12-20 04:42:30 UTC (rev 780076) +++ disable_magma_sparse.patch 2020-12-20 04:52:52 UTC (rev 780077) @@ -1,69 +0,0 @@ -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 )
