summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorViktor Drobot2020-11-21 21:33:49 +0300
committerViktor Drobot2020-11-21 21:33:49 +0300
commit7afcb31a74743069432e3ccdd969dfa875b52738 (patch)
tree9b15e53d9236e81bd7a43454d0709653b8ab33b8
parentb8a3956d0d865619e30f952078255965eba13361 (diff)
downloadaur-7afcb31a74743069432e3ccdd969dfa875b52738.tar.gz
Add CUDA 11.1 support
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD20
-rw-r--r--cuda-11.1.patch52
3 files changed, 73 insertions, 15 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fb27f7c2bdba..04e70a98a9d2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = pmemd
pkgdesc = PMEMD module of AMBER software package
pkgver = 20
- pkgrel = 5
+ pkgrel = 6
url = http://ambermd.org/
arch = x86_64
license = custom
@@ -28,12 +28,14 @@ pkgbase = pmemd
source = pmemd.MPI
source = pmemd.cuda
source = pmemd.cuda.MPI
- md5sums = 8c1fe81833796a9cb823019e02c522e0
- md5sums = 559d5b7b872344c268a62ebd5d33f71d
- md5sums = 44632310820b4d915a169d13d6a60be2
- md5sums = 9e030fb76a31f133a59b33734e674ac1
- md5sums = eba440f07f04c80d2cb22752bea01d65
- md5sums = 14a2068da46e104553224fb523ea5bd4
+ source = cuda-11.1.patch
+ sha256sums = b1e1f8f277c54e88abc9f590e788bbb2f7a49bcff5e8d8a6eacfaf332a4890f9
+ sha256sums = a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75
+ sha256sums = 8bd1f818e0b55e866b906ecd497831f674b9a7b995c85899f6c4adc77a908f51
+ sha256sums = d454d03f3c88efe231a2282758c0e6b655396d00af40fd4b3ecfb1d8641009b7
+ sha256sums = 2a4a139923fcecbe319ae6728a860e8e64835c1dd2d9e626eb5125116a0d790c
+ sha256sums = df8b260dc4782a0fd0935ba1fdec8eb013b17c1082cfecff60e933a38a38d5a0
+ sha256sums = b666b2f186c5fd40b0be71a52b854060deea690205dbca24606c13c97cbf07de
pkgname = pmemd
diff --git a/PKGBUILD b/PKGBUILD
index 36892c2f7bac..ca9fc6a30fb9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@ pkgname=pmemd
pkgver=20
_toolsver=20
_gccver=9.3.0
-pkgrel=5
+pkgrel=6
pkgdesc="PMEMD module of AMBER software package"
url="http://ambermd.org/"
license=(custom)
@@ -25,18 +25,22 @@ source=("local://AmberTools${_toolsver}.tar.bz2"
"pmemd"
"pmemd.MPI"
"pmemd.cuda"
- "pmemd.cuda.MPI")
-md5sums=('8c1fe81833796a9cb823019e02c522e0'
- '559d5b7b872344c268a62ebd5d33f71d'
- '44632310820b4d915a169d13d6a60be2'
- '9e030fb76a31f133a59b33734e674ac1'
- 'eba440f07f04c80d2cb22752bea01d65'
- '14a2068da46e104553224fb523ea5bd4')
+ "pmemd.cuda.MPI"
+ "cuda-11.1.patch")
+sha256sums=('b1e1f8f277c54e88abc9f590e788bbb2f7a49bcff5e8d8a6eacfaf332a4890f9'
+ 'a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75'
+ '8bd1f818e0b55e866b906ecd497831f674b9a7b995c85899f6c4adc77a908f51'
+ 'd454d03f3c88efe231a2282758c0e6b655396d00af40fd4b3ecfb1d8641009b7'
+ '2a4a139923fcecbe319ae6728a860e8e64835c1dd2d9e626eb5125116a0d790c'
+ 'df8b260dc4782a0fd0935ba1fdec8eb013b17c1082cfecff60e933a38a38d5a0'
+ 'b666b2f186c5fd40b0be71a52b854060deea690205dbca24606c13c97cbf07de')
prepare() {
cd ${srcdir}/amber${pkgver}_src
./update_amber --update
+
+ patch -Np0 -i "${srcdir}/cuda-11.1.patch"
}
build() {
diff --git a/cuda-11.1.patch b/cuda-11.1.patch
new file mode 100644
index 000000000000..c5f68a5719ab
--- /dev/null
+++ b/cuda-11.1.patch
@@ -0,0 +1,52 @@
+--- cmake/CudaConfig.cmake 2020-10-16 14:43:24.152111622 +0300
++++ cmake/CudaConfig.cmake 2020-10-16 14:56:02.361337230 +0300
+@@ -17,12 +17,12 @@
+
+ if(CUDA)
+
+ set(CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
+
+- #Note at present we do not include SM3.5 or SM3.7 since they sometimes show performance
+- #regressions over just using SM3.0.
++ #SM8.6 -- not currently used, but should be tested on Cuda 11.1
++ set(SM86FLAGS -gencode arch=compute_86,code=sm_86)
+ #SM8.0 = A100
+ set(SM80FLAGS -gencode arch=compute_80,code=sm_80)
+ #SM7.5 = RTX20xx, RTX Titan, T4 and Quadro RTX
+ set(SM75FLAGS -gencode arch=compute_60,code=sm_75)
+ #SM7.0 = V100 and Volta Geforce / GTX Ampere?
+@@ -37,11 +37,11 @@
+ set(SM53FLAGS -gencode arch=compute_53,code=sm_53)
+ #SM5.2 = GM200 = GTX-Titan-X, M6000 etc.
+ set(SM52FLAGS -gencode arch=compute_52,code=sm_52)
+ #SM5.0 = GM204 = GTX980, 970 etc
+ set(SM50FLAGS -gencode arch=compute_50,code=sm_50)
+- #SM3.7 = GK210 = K80
++ #SM3.7 = GK210 = K80 -- not currently used, since SM3.0 may be better
+ set(SM37FLAGS -gencode arch=compute_37,code=sm_37)
+ #SM3.5 = GK110 + 110B = K20, K20X, K40, GTX780, GTX-Titan, GTX-Titan-Black, GTX-Titan-Z
+ set(SM35FLAGS -gencode arch=compute_35,code=sm_35)
+ #SM3.0 = GK104 = K10, GTX680, 690 etc.
+ set(SM30FLAGS -gencode arch=compute_30,code=sm_30)
+@@ -67,13 +67,19 @@
+ elseif(${CUDA_VERSION} VERSION_EQUAL 11.0)
+ # Implement the standard compilation rather than a warp-synchronous one, which is deprecated as of CUDA 11
+ set(SM70FLAGS -gencode arch=compute_70,code=sm_70)
+ set(SM75FLAGS -gencode arch=compute_75,code=sm_75)
+ message(STATUS "Configuring for SM3.5, SM5.0, SM5.2, SM5.3, SM6.0, SM6.1, SM7.0, SM7.5 and SM8.0")
+- list(APPEND CUDA_NVCC_FLAGS ${SM35FLAGS} ${SM50FLAGS} ${SM52FLAGS} ${SM53FLAGS} ${SM60FLAGS} ${SM61FLAGS} ${SM70FLAGS} ${SM75FLAGS} ${SM80FLAGS} -Wno-deprecated-gpu-targets -Wno-deprecated-declarations)
++ list(APPEND CUDA_NVCC_FLAGS ${SM35FLAGS} ${SM50FLAGS} ${SM52FLAGS} ${SM53FLAGS} ${SM60FLAGS} ${SM61FLAGS} ${SM70FLAGS} ${SM75FLAGS} ${SM80FLAGS} -Wno-deprecated-gpu-targets -Wno-deprecated-declarations)
++ elseif(${CUDA_VERSION} VERSION_EQUAL 11.1)
++ # Implement the standard compilation rather than a warp-synchronous one, which is deprecated as of CUDA 11
++ set(SM70FLAGS -gencode arch=compute_70,code=sm_70)
++ set(SM75FLAGS -gencode arch=compute_75,code=sm_75)
++ message(STATUS "Configuring for SM3.5, SM5.0, SM5.2, SM5.3, SM6.0, SM6.1, SM7.0, SM7.5 and SM8.6")
++ list(APPEND CUDA_NVCC_FLAGS ${SM35FLAGS} ${SM50FLAGS} ${SM52FLAGS} ${SM53FLAGS} ${SM60FLAGS} ${SM61FLAGS} ${SM70FLAGS} ${SM75FLAGS} ${SM80FLAGS} -Wno-deprecated-gpu-targets -Wno-deprecated-declarations)
+ else()
+- message(FATAL_ERROR "Error: Unsupported CUDA version. AMBER requires CUDA version >= 7.5 and <= 11.0.
++ message(FATAL_ERROR "Error: Unsupported CUDA version. AMBER requires CUDA version >= 7.5 and <= 11.1.
+ Please upgrade your CUDA installation or disable building with CUDA.")
+ endif()
+
+ set(CUDA_PROPAGATE_HOST_FLAGS FALSE)
+