summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDrobot Viktor2019-09-19 18:13:13 +0300
committerDrobot Viktor2019-09-19 18:13:13 +0300
commit0ae8a92dbeacbcf4ce845e29e8ca1c531c5a3cf4 (patch)
tree0595262034ee56fbd29e9cf645f18141b9953142
downloadaur-0ae8a92dbeacbcf4ce845e29e8ca1c531c5a3cf4.tar.gz
First release
-rw-r--r--.SRCINFO45
-rw-r--r--PKGBUILD115
-rw-r--r--amber.patch10
-rw-r--r--pmemd.cuda7
-rw-r--r--pmemd.cuda.MPI7
-rw-r--r--pmemd.cuda_DPFP7
-rw-r--r--pmemd.cuda_DPFP.MPI7
7 files changed, 198 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..43cc11f223b6
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,45 @@
+pkgbase = pmemd-cuda
+ pkgdesc = PMEMD module of AMBER software package (with CUDA support)
+ pkgver = 18
+ pkgrel = 1
+ url = http://ambermd.org/
+ arch = x86_64
+ license = custom
+ makedepends = make
+ makedepends = gcc7
+ makedepends = gcc7-fortran
+ makedepends = patch
+ makedepends = tcsh
+ makedepends = imake
+ depends = openmpi3-gcc7
+ depends = cuda
+ depends = fakeroot
+ depends = zlib
+ depends = bzip2
+ depends = gcc7-libs
+ depends = flex
+ depends = python2
+ depends = bash
+ optdepends = plumed-patches: PLUMED support
+ optdepends = plumed: metadynamics support
+ optdepends = plumed-mpi: metadynamics support with MPI
+ options = staticlibs
+ options = !buildflags
+ options = !makeflags
+ source = local://AmberTools19.tar.bz2
+ source = local://Amber18.tar.bz2
+ source = amber.patch
+ source = pmemd.cuda
+ source = pmemd.cuda_DPFP
+ source = pmemd.cuda.MPI
+ source = pmemd.cuda_DPFP.MPI
+ md5sums = afffe8a5473a0bd143b98f0396f52f0f
+ md5sums = 6b38d9cfb6e33b719bdf7fe73b26e841
+ md5sums = 6015e304e72538d84e6d44f883ac39c2
+ md5sums = c0e28736c9fe7ffd1cbed27ad3220e16
+ md5sums = b1b881bd9e0f64a463c5e54138a679a6
+ md5sums = c18bfebde8bd68bc6815e7e1ab17f154
+ md5sums = c223fda763779c4f78fe3c634cfa3d50
+
+pkgname = pmemd-cuda
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..969c06644b20
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,115 @@
+# Maintainer: Viktor Drobot (aka dviktor) linux776 [at] gmail [dot] com
+
+pkgname=pmemd-cuda
+pkgver=18
+_toolsver=19
+_gccver=7.4.1
+pkgrel=1
+pkgdesc="PMEMD module of AMBER software package (with CUDA support)"
+url="http://ambermd.org/"
+license=('custom')
+arch=('x86_64')
+depends=('openmpi3-gcc7' 'cuda' 'fakeroot' 'zlib' 'bzip2' 'gcc7-libs' 'flex' 'python2' 'bash')
+makedepends=('make' 'gcc7' 'gcc7-fortran' 'patch' 'tcsh' 'imake')
+optdepends=('plumed-patches: PLUMED support'
+ 'plumed: metadynamics support'
+ 'plumed-mpi: metadynamics support with MPI')
+md5sums=('afffe8a5473a0bd143b98f0396f52f0f'
+ '6b38d9cfb6e33b719bdf7fe73b26e841'
+ '6015e304e72538d84e6d44f883ac39c2'
+ 'c0e28736c9fe7ffd1cbed27ad3220e16'
+ 'b1b881bd9e0f64a463c5e54138a679a6'
+ 'c18bfebde8bd68bc6815e7e1ab17f154'
+ 'c223fda763779c4f78fe3c634cfa3d50')
+options=(staticlibs !buildflags !makeflags)
+
+# Due to licensing issues you must register and download AmberTools package from AmberMD url and put it in directory with PKGBUILD.
+# Moreover, you MUST purchase Amber package from AmberMD group and also place it in directory with PKGBUILD.
+source=("local://AmberTools${_toolsver}.tar.bz2"
+ "local://Amber${pkgver}.tar.bz2"
+ "amber.patch"
+ "pmemd.cuda"
+ "pmemd.cuda_DPFP"
+ "pmemd.cuda.MPI"
+ "pmemd.cuda_DPFP.MPI")
+
+prepare() {
+ cd ${srcdir}/amber${pkgver}
+
+ export AMBERHOME="${srcdir}/amber${pkgver}"
+ ./update_amber --update
+ patch -Np0 -i "${srcdir}/amber.patch"
+}
+
+build() {
+ # set necessary variables
+ export LD_PRELOAD=/usr/lib/libstdc++.so
+ export AMBER_PREFIX="${srcdir}/amber${pkgver}"
+ export AMBERHOME="${srcdir}/amber${pkgver}"
+
+ if [ -z "${LD_LIBRARY_PATH}" ]; then
+ export LD_LIBRARY_PATH="${AMBER_PREFIX}/lib"
+ else
+ export LD_LIBRARY_PATH="${AMBER_PREFIX}/lib:${LD_LIBRARY_PATH}"
+ fi
+
+ export LD_LIBRARY_PATH="/usr/lib/gcc/x86_64-pc-linux-gnu/${_gccver}:${LD_LIBRARY_PATH}"
+
+ export CUDA_HOME="/opt/cuda"
+ export LD_LIBRARY_PATH="/opt/cuda/lib:/opt/cuda/lib64:${LD_LIBRARY_PATH}"
+
+ # pre-configure
+ cd ${srcdir}/amber${pkgver}
+ LANG=en_US.UTF-8 CC=gcc-7 CXX=g++-7 FC=gfortran-7 ./configure --with-python /usr/bin/python2 --no-updates gnu
+
+ # add support for PLUMED
+ if [ -e "/usr/bin/plumed-mpi-patch" -a -e "/usr/lib/plumed-mpi/patches/amber${pkgver}.diff" ]; then
+ msg2 "Adding support for PLUMED (with MPI)"
+ plumed-mpi-patch -p -e amber${pkgver}
+ elif [ -e "/usr/bin/plumed-patch" -a -e "/usr/lib/plumed/patches/amber${pkgver}.diff" ]; then
+ msg2 "Adding support for PLUMED"
+ plumed-patch -p -e amber${pkgver}
+ fi
+
+ # build internal libraries
+ cd ${srcdir}/amber${pkgver}/AmberTools/src/xblas
+ make lib-amb
+ mv libxblas-amb.a ../../../lib
+
+ cd ${srcdir}/amber${pkgver}/AmberTools/src/blas
+ make install
+
+ cd ${srcdir}/amber${pkgver}/AmberTools/src/lapack
+ make install
+
+ cd ${srcdir}/amber${pkgver}/AmberTools/src/arpack
+ make install
+
+ # build serial CUDA version
+ cd ${srcdir}/amber${pkgver}
+ LANG=en_US.UTF-8 CC=gcc-7 CXX=g++-7 FC=gfortran-7 ./configure --with-python /usr/bin/python2 --no-updates -cuda gnu
+ cd src
+ make install
+
+ # build parallel CUDA version
+ cd ${srcdir}/amber${pkgver}
+ LANG=en_US.UTF-8 CC=gcc-7 CXX=g++-7 FC=gfortran-7 ./configure --with-python /usr/bin/python2 --no-updates -cuda -mpi gnu
+ cd src
+ make install
+}
+
+package() {
+ cd ${srcdir}/amber${pkgver}/bin
+
+ # install binaries
+ install -Dm755 pmemd.cuda_SPFP ${pkgdir}/usr/lib/${pkgname}/bin/pmemd.cuda_SPFP
+ install -Dm755 pmemd.cuda_DPFP ${pkgdir}/usr/lib/${pkgname}/bin/pmemd.cuda_DPFP
+ install -Dm755 pmemd.cuda_SPFP.MPI ${pkgdir}/usr/lib/${pkgname}/bin/pmemd.cuda_SPFP.MPI
+ install -Dm755 pmemd.cuda_SPFP.MPI ${pkgdir}/usr/lib/${pkgname}/bin/pmemd.cuda_DPFP.MPI
+
+ # install wrappers
+ install -Dm755 ${srcdir}/pmemd.cuda ${pkgdir}/usr/bin/pmemd.cuda
+ install -Dm755 ${srcdir}/pmemd.cuda_DPFP ${pkgdir}/usr/bin/pmemd.cuda_DPFP
+ install -Dm755 ${srcdir}/pmemd.cuda.MPI ${pkgdir}/usr/bin/pmemd.cuda.MPI
+ install -Dm755 ${srcdir}/pmemd.cuda_DPFP.MPI ${pkgdir}/usr/bin/pmemd.cuda_DPFP.MPI
+}
diff --git a/amber.patch b/amber.patch
new file mode 100644
index 000000000000..4bb17144857d
--- /dev/null
+++ b/amber.patch
@@ -0,0 +1,10 @@
+--- AmberTools/src/configure2 2019-02-14 12:04:44.583123213 +0300
++++ AmberTools/src/configure2 2019-02-14 12:05:00.319647178 +0300
+@@ -1193,6 +1193,7 @@
+ echo " AMBER 18 requires CUDA version 7.5, 8.0, 9.0-9.2, or 10.0-10.2"
+ exit 1
+ fi
++ nvccflags="$nvccflags --compiler-options -fPIC"
+ nvcc="$nvcc $nvccflags"
+
+ fi
diff --git a/pmemd.cuda b/pmemd.cuda
new file mode 100644
index 000000000000..8be9506f7e70
--- /dev/null
+++ b/pmemd.cuda
@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+export _gccver=7.4.1
+export LD_LIBRARY_PATH="/usr/lib/gcc/x86_64-pc-linux-gnu/${_gccver}:$LD_LIBRARY_PATH"
+/usr/lib/pmemd-cuda/bin/pmemd.cuda_SPFP "$@"
+
+exit 0
diff --git a/pmemd.cuda.MPI b/pmemd.cuda.MPI
new file mode 100644
index 000000000000..cdfafac9a680
--- /dev/null
+++ b/pmemd.cuda.MPI
@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+export _gccver=7.4.1
+export LD_LIBRARY_PATH="/usr/lib/gcc/x86_64-pc-linux-gnu/${_gccver}:$LD_LIBRARY_PATH"
+/usr/lib/pmemd-cuda/bin/pmemd.cuda_SPFP.MPI "$@"
+
+exit 0
diff --git a/pmemd.cuda_DPFP b/pmemd.cuda_DPFP
new file mode 100644
index 000000000000..351733affad4
--- /dev/null
+++ b/pmemd.cuda_DPFP
@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+export _gccver=7.4.1
+export LD_LIBRARY_PATH="/usr/lib/gcc/x86_64-pc-linux-gnu/${_gccver}:$LD_LIBRARY_PATH"
+/usr/lib/pmemd-cuda/bin/pmemd.cuda_DPFP "$@"
+
+exit 0
diff --git a/pmemd.cuda_DPFP.MPI b/pmemd.cuda_DPFP.MPI
new file mode 100644
index 000000000000..c0b19e29984a
--- /dev/null
+++ b/pmemd.cuda_DPFP.MPI
@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+export _gccver=7.4.1
+export LD_LIBRARY_PATH="/usr/lib/gcc/x86_64-pc-linux-gnu/${_gccver}:$LD_LIBRARY_PATH"
+/usr/lib/pmemd-cuda/bin/pmemd.cuda_DPFP.MPI "$@"
+
+exit 0