summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton2019-04-28 01:19:40 +0300
committerAnton2019-04-28 01:19:40 +0300
commit8bb4504281a2a590a8f1cafd939f2a9c9f69ac08 (patch)
treec1cd472b49f61e49f0e379dced1161283e4ada7d
parent249bf1d08a5a9a14f5bac93ef78072db2cf47466 (diff)
downloadaur-8bb4504281a2a590a8f1cafd939f2a9c9f69ac08.tar.gz
added libxc and libint support, several fixes and prettifies
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD28
-rw-r--r--basic.ssmp30
-rw-r--r--basic_cuda.ssmp50
-rw-r--r--basic_cuda_plumed.ssmp52
-rw-r--r--basic_plumed.ssmp32
6 files changed, 151 insertions, 55 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a3744eac186d..51ede74181f9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = cp2k
pkgdesc = A quantum chemistry and solid state physics software package for atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems.
pkgver = 6.1.0
- pkgrel = 1
+ pkgrel = 2
url = https://www.cp2k.org
arch = x86_64
license = GPL2
@@ -14,6 +14,8 @@ pkgbase = cp2k
depends = fftw
depends = gcc-libs
depends = glibc
+ depends = libxc>=4.0.4
+ depends = libint>=1.1.4
optdepends = cuda: GPU calculations support
optdepends = plumed: enhanced sampling support
source = https://github.com/cp2k/cp2k/archive/v6.1.0.tar.gz
@@ -21,11 +23,11 @@ pkgbase = cp2k
source = basic_cuda.ssmp
source = basic_plumed.ssmp
source = basic_cuda_plumed.ssmp
- md5sums = 071d4e0716f3b646911522f6a72aae2d
- md5sums = 214e5ccb988fb2603168d3eb73e84cce
- md5sums = 3aae24738a4841d5ff4f367d310edb72
- md5sums = 8affc94195f762c3b8dd5e636d6c98e2
- md5sums = 82dee44b58d0f108d736574221c59ec5
+ md5sums = d7dd5f164e1e51d2dcb8c7d927b99f6ac1d0f8de4a665bd9daee1a14864c30ae
+ md5sums = dd91990853df6aa45719c6b991db19beb1a8dce556a25149e90bb562e7ba9ff9
+ md5sums = 961ff801e2f4de80faffb84b6c46a457f2c149f32d88daeda5afd992841741b0
+ md5sums = c30512606e0d3857cba7f29febebfc71ea6e658b56784ab5befb2aaeb2dfb006
+ md5sums = 39e3ef335cf51d4cfe436bd4cb1d21a4b9b33af3718bcaf737fbf307c85945fb
pkgname = cp2k
diff --git a/PKGBUILD b/PKGBUILD
index 59787e515230..28e4a1d25309 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,11 +1,12 @@
pkgname=cp2k
pkgver=6.1.0
-pkgrel=1
+pkgrel=2
pkgdesc="A quantum chemistry and solid state physics software package for atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems."
arch=("x86_64")
url="https://www.cp2k.org"
license=("GPL2")
-depends=('lapack' 'blas' 'fftw' 'gcc-libs' 'glibc')
+depends=('lapack' 'blas' 'fftw' 'gcc-libs' 'glibc'
+ 'libxc>=4.0.4' 'libint>=1.1.4')
makedepends=('gcc' 'gcc-fortran' 'python2' 'make')
optdepends=('cuda: GPU calculations support'
'plumed: enhanced sampling support')
@@ -14,11 +15,11 @@ source=("https://github.com/cp2k/cp2k/archive/v${pkgver}.tar.gz"
"basic_cuda.ssmp"
"basic_plumed.ssmp"
"basic_cuda_plumed.ssmp")
-md5sums=('071d4e0716f3b646911522f6a72aae2d'
- '214e5ccb988fb2603168d3eb73e84cce'
- '3aae24738a4841d5ff4f367d310edb72'
- '8affc94195f762c3b8dd5e636d6c98e2'
- '82dee44b58d0f108d736574221c59ec5')
+md5sums=('d7dd5f164e1e51d2dcb8c7d927b99f6ac1d0f8de4a665bd9daee1a14864c30ae'
+ 'dd91990853df6aa45719c6b991db19beb1a8dce556a25149e90bb562e7ba9ff9'
+ '961ff801e2f4de80faffb84b6c46a457f2c149f32d88daeda5afd992841741b0'
+ 'c30512606e0d3857cba7f29febebfc71ea6e658b56784ab5befb2aaeb2dfb006'
+ '39e3ef335cf51d4cfe436bd4cb1d21a4b9b33af3718bcaf737fbf307c85945fb')
_buildmode=0
_version="basic"
@@ -52,11 +53,20 @@ case $_buildmode in
;;
esac
+prepare() {
+ cd $srcdir/$pkgname-$pkgver
+
+ mv ../${_version}.ssmp arch/
+ # A fix for Kepler GPUs
+ sed -i 's/P100/K20X/g' src/dbcsr/libsmm_acc/libcusmm/generate.py
+ sed -i 's/largeDB(/largeDB1(/g' src/dbcsr/libsmm_acc/libcusmm/parameters_K20X.txt
+ sed -i 's/triples += combinations(6,7,8)/#triples += combinations(6,7,8)/g' src/dbcsr/libsmm_acc/libcusmm/generate.py
+ sed -i 's/triples += combinations(13,14,25,26,32)/#triples += combinations(13,14,25,26,32)/g' src/dbcsr/libsmm_acc/libcusmm/generate.py
+}
build() {
cd ${srcdir}/${pkgname}-${pkgver}
-
- cp ${srcdir}/${_version}.ssmp arch/
+
cd makefiles
make ARCH=$_version VERSION=ssmp
}
diff --git a/basic.ssmp b/basic.ssmp
index 54b14313e2dd..17463a824ca0 100644
--- a/basic.ssmp
+++ b/basic.ssmp
@@ -1,17 +1,29 @@
CC = gcc
CXX = g++
-CPP =
-AR = ar -r
+CPP =
FC = gfortran
LD = gfortran
+NVCC = nvcc
+#
+AR = ar -r
+#
+DFLAGS = -D__FFTW3 \
+ -D__LIBINT -D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5 -D__MAX_CONTR=4 \
+ -D__LIBXC
+#
+INCS = -I/usr/include
#
-DFLAGS = -D__FFTW3
+OPTFLAGS = -O3 -march=native -fopenmp
#
-WFLAGS = -Werror=aliasing -Werror=ampersand -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation -Werror=tabs -Werror=target-lifetime -Werror=underflow -Werror=unused-but-set-variable -Werror=unused-variable -Werror=unused-dummy-argument -Werror=conversion -Werror=zerotrip -Wno-maybe-uninitialized -Wuse-without-only
+CFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS)
+CXXFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -std=c++11
+CPPFLAGS =
+FCFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -ffree-form -ffree-line-length-none
#
-FCDEBFLAGS = -ffree-form -std=f2003 -fimplicit-none
-CFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(DFLAGS)
-FCFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(FCDEBFLAGS) $(WFLAGS) $(DFLAGS)
+LDFLAGS = $(FCFLAGS)
#
-LDFLAGS = $(FCFLAGS) -llapack -lblas -Wl,--enable-new-dtags -L'/usr/lib' -Wl,-rpath='/usr/lib'
-LIBS = -lfftw3 -lfftw3_omp -lstdc++
+LIBS = -lblas -llapack \
+ -lfftw3 -lfftw3_threads \
+ /usr/lib/libderiv.a \
+ /usr/lib/libint.a \
+ -lstdc++ -lpthread -lm -ldl -lz
diff --git a/basic_cuda.ssmp b/basic_cuda.ssmp
index b6bbca5e87a5..5c02a9600983 100644
--- a/basic_cuda.ssmp
+++ b/basic_cuda.ssmp
@@ -1,20 +1,48 @@
CC = gcc
CXX = g++
-CPP =
-AR = ar -r
+CPP =
FC = gfortran
LD = gfortran
+NVCC = nvcc
+#
+GPUVER = K20X
+#
+AR = ar -r
+#
+DFLAGS = -D__FFTW3 \
+ -D__LIBINT -D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5 -D__MAX_CONTR=4 \
+ -D__LIBXC \
+ -D__ACC -D__DBCSR_ACC -D__PW_CUDA
#
-DFLAGS = -D__FFTW3 -D__ACC -D__DBCSR_ACC -D__PW_CUDA
+INCS = -I/usr/include \
+ -I/opt/cuda/include
#
-WFLAGS = -Werror=aliasing -Werror=ampersand -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation -Werror=tabs -Werror=target-lifetime -Werror=underflow -Werror=unused-but-set-variable -Werror=unused-variable -Werror=unused-dummy-argument -Werror=conversion -Werror=zerotrip -Wno-maybe-uninitialized -Wuse-without-only
+OPTFLAGS = -O3 -march=native -fopenmp
#
-FCDEBFLAGS = -ffree-form -std=f2003 -fimplicit-none
-CFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(DFLAGS)
-FCFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(FCDEBFLAGS) $(WFLAGS) $(DFLAGS)
+CFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS)
+CXXFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -std=c++11
+CPPFLAGS =
+FCFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -ffree-form -ffree-line-length-none
+NVFLAGS = $(DFLAGS) -O3 -Xcompiler="-fopenmp" \
+ -gencode arch=compute_30,code=sm_30 \
+ -gencode arch=compute_32,code=sm_32 \
+ -gencode arch=compute_35,code=sm_35 \
+ -gencode arch=compute_50,code=sm_50 \
+ -gencode arch=compute_52,code=sm_52 \
+ -gencode arch=compute_53,code=sm_53 \
+ -gencode arch=compute_60,code=sm_60 \
+ -gencode arch=compute_61,code=sm_61 \
+ -gencode arch=compute_62,code=sm_62 \
+ -gencode arch=compute_70,code=sm_70 \
+ -gencode arch=compute_72,code=sm_72 \
+ -gencode arch=compute_75,code=sm_75
#
-LDFLAGS = $(FCFLAGS) -llapack -lblas -Wl,--enable-new-dtags -L'/usr/lib' -Wl,-rpath='/usr/lib' -L'/opt/cuda/lib'
-LIBS = -lfftw3 -lfftw3_omp -lstdc++ -lcudart -lcublas -lcufft -lnvrtc -lrt
+LDFLAGS = $(FCFLAGS)
#
-NVCC = nvcc -Xcompiler=--std=c++11
-NVFLAGS = -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 $(DFLAGS)
+LIBS = -L/opt/cuda/lib64 -lcudart -lcublas -lcufft -lrt -lnvrtc \
+ -lblas -llapack \
+ -lfftw3 -lfftw3_threads \
+ /usr/lib/libderiv.a \
+ /usr/lib/libint.a \
+ -lxcf03 -lxc \
+ -lstdc++ -lpthread -lm -ldl -lz
diff --git a/basic_cuda_plumed.ssmp b/basic_cuda_plumed.ssmp
index dd21a9332d6d..ad24e65ee874 100644
--- a/basic_cuda_plumed.ssmp
+++ b/basic_cuda_plumed.ssmp
@@ -1,22 +1,52 @@
CC = gcc
CXX = g++
-CPP =
-AR = ar -r
+CPP =
FC = gfortran
LD = gfortran
+NVCC = nvcc
+#
+GPUVER = K20X
+#
+AR = ar -r
+#
+DFLAGS = -D__FFTW3 \
+ -D__LIBINT -D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5 -D__MAX_CONTR=4 \
+ -D__LIBXC \
+ -D__ACC -D__DBCSR_ACC -D__PW_CUDA \
+ -D__PLUMED2
#
-DFLAGS = -D__FFTW3 -D__ACC -D__DBCSR_ACC -D__PW_CUDA -D__PLUMED2
+INCS = -I/usr/include \
+ -I/opt/cuda/include
#
-WFLAGS = -Werror=aliasing -Werror=ampersand -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation -Werror=tabs -Werror=target-lifetime -Werror=underflow -Werror=unused-but-set-variable -Werror=unused-variable -Werror=unused-dummy-argument -Werror=conversion -Werror=zerotrip -Wno-maybe-uninitialized -Wuse-without-only
+OPTFLAGS = -O3 -march=native -fopenmp
#
-FCDEBFLAGS = -ffree-form -std=f2003 -fimplicit-none
-CFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(DFLAGS)
-FCFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(FCDEBFLAGS) $(WFLAGS) $(DFLAGS)
+CFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS)
+CXXFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -std=c++11
+CPPFLAGS =
+FCFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -ffree-form -ffree-line-length-none
+NVFLAGS = $(DFLAGS) -O3 -Xcompiler="-fopenmp" \
+ -gencode arch=compute_30,code=sm_30 \
+ -gencode arch=compute_32,code=sm_32 \
+ -gencode arch=compute_35,code=sm_35 \
+ -gencode arch=compute_50,code=sm_50 \
+ -gencode arch=compute_52,code=sm_52 \
+ -gencode arch=compute_53,code=sm_53 \
+ -gencode arch=compute_60,code=sm_60 \
+ -gencode arch=compute_61,code=sm_61 \
+ -gencode arch=compute_62,code=sm_62 \
+ -gencode arch=compute_70,code=sm_70 \
+ -gencode arch=compute_72,code=sm_72 \
+ -gencode arch=compute_75,code=sm_75
#
-LDFLAGS = $(FCFLAGS) -llapack -lblas -Wl,--enable-new-dtags -L'/usr/lib' -Wl,-rpath='/usr/lib' -L'/opt/cuda/lib'
-LIBS = -lfftw3 -lfftw3_omp -lstdc++ -lcudart -lcublas -lcufft -lnvrtc -lrt -lz -ldl -lplumed
+LDFLAGS = $(FCFLAGS)
#
-NVCC = nvcc -Xcompiler=--std=c++11
-NVFLAGS = -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 $(DFLAGS)
+LIBS = -L/opt/cuda/lib64 -lcudart -lcublas -lcufft -lrt -lnvrtc \
+ -lblas -llapack \
+ -lfftw3 -lfftw3_threads \
+ /usr/lib/libderiv.a \
+ /usr/lib/libint.a \
+ -lxcf03 -lxc \
+ -lplumed \
+ -lstdc++ -lpthread -lm -ldl -lz
#
include /usr/lib/plumed/src/lib/Plumed.inc
diff --git a/basic_plumed.ssmp b/basic_plumed.ssmp
index fd5e6fbe7729..7efe698ff2bd 100644
--- a/basic_plumed.ssmp
+++ b/basic_plumed.ssmp
@@ -1,19 +1,33 @@
CC = gcc
CXX = g++
-CPP =
-AR = ar -r
+CPP =
FC = gfortran
LD = gfortran
+NVCC = nvcc
+#
+AR = ar -r
+#
+DFLAGS = -D__FFTW3 \
+ -D__LIBINT -D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5 -D__MAX_CONTR=4 \
+ -D__LIBXC \
+ -D__PLUMED2
+#
+INCS = -I/usr/include
#
-DFLAGS = -D__FFTW3 -D__PLUMED2
+OPTFLAGS = -O3 -march=native -fopenmp
#
-WFLAGS = -Werror=aliasing -Werror=ampersand -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation -Werror=tabs -Werror=target-lifetime -Werror=underflow -Werror=unused-but-set-variable -Werror=unused-variable -Werror=unused-dummy-argument -Werror=conversion -Werror=zerotrip -Wno-maybe-uninitialized -Wuse-without-only
+CFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS)
+CXXFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -std=c++11
+CPPFLAGS =
+FCFLAGS = $(DFLAGS) $(INCS) $(OPTFLAGS) -ffree-form -ffree-line-length-none
#
-FCDEBFLAGS = -ffree-form -std=f2003 -fimplicit-none
-CFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(DFLAGS)
-FCFLAGS = -march=native -fno-omit-frame-pointer -g -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp -I'/usr/include' $(FCDEBFLAGS) $(WFLAGS) $(DFLAGS)
+LDFLAGS = $(FCFLAGS)
#
-LDFLAGS = $(FCFLAGS) -llapack -lblas -Wl,--enable-new-dtags -L'/usr/lib' -Wl,-rpath='/usr/lib'
-LIBS = -lfftw3 -lfftw3_omp -lstdc++ -lz -ldl -lplumed
+LIBS = -lblas -llapack \
+ -lfftw3 -lfftw3_threads \
+ /usr/lib/libderiv.a \
+ /usr/lib/libint.a \
+ -lplumed \
+ -lstdc++ -lpthread -lm -ldl -lz
#
include /usr/lib/plumed/src/lib/Plumed.inc