diff options
-rw-r--r-- | .SRCINFO | 31 | ||||
-rw-r--r-- | PKGBUILD | 70 | ||||
-rw-r--r-- | basic.ssmp | 17 | ||||
-rw-r--r-- | basic_cuda.ssmp | 20 | ||||
-rw-r--r-- | basic_cuda_plumed.ssmp | 22 | ||||
-rw-r--r-- | basic_plumed.ssmp | 19 |
6 files changed, 179 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..a3744eac186d --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,31 @@ +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 + url = https://www.cp2k.org + arch = x86_64 + license = GPL2 + makedepends = gcc + makedepends = gcc-fortran + makedepends = python2 + makedepends = make + depends = lapack + depends = blas + depends = fftw + depends = gcc-libs + depends = glibc + optdepends = cuda: GPU calculations support + optdepends = plumed: enhanced sampling support + source = https://github.com/cp2k/cp2k/archive/v6.1.0.tar.gz + source = basic.ssmp + source = basic_cuda.ssmp + source = basic_plumed.ssmp + source = basic_cuda_plumed.ssmp + md5sums = 071d4e0716f3b646911522f6a72aae2d + md5sums = 214e5ccb988fb2603168d3eb73e84cce + md5sums = 3aae24738a4841d5ff4f367d310edb72 + md5sums = 8affc94195f762c3b8dd5e636d6c98e2 + md5sums = 82dee44b58d0f108d736574221c59ec5 + +pkgname = cp2k + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..59787e515230 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,70 @@ +pkgname=cp2k +pkgver=6.1.0 +pkgrel=1 +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') +makedepends=('gcc' 'gcc-fortran' 'python2' 'make') +optdepends=('cuda: GPU calculations support' + 'plumed: enhanced sampling support') +source=("https://github.com/cp2k/cp2k/archive/v${pkgver}.tar.gz" + "basic.ssmp" + "basic_cuda.ssmp" + "basic_plumed.ssmp" + "basic_cuda_plumed.ssmp") +md5sums=('071d4e0716f3b646911522f6a72aae2d' + '214e5ccb988fb2603168d3eb73e84cce' + '3aae24738a4841d5ff4f367d310edb72' + '8affc94195f762c3b8dd5e636d6c98e2' + '82dee44b58d0f108d736574221c59ec5') +_buildmode=0 +_version="basic" + +if [ -d "/opt/cuda" ] +then + msg2 "Adding CUDA support" + _buildmode=$((_buildmode | 1)) +fi + +if [ -d "/usr/lib/plumed" ] +then + msg2 "Adding PLUMED support" + _buildmode=$((_buildmode | 2)) +fi + +case $_buildmode in + 0) + _version="basic" + ;; + + 1) + _version="basic_cuda" + ;; + + 2) + _version="basic_plumed" + ;; + + 3) + _version="basic_cuda_plumed" + ;; +esac + + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + cp ${srcdir}/${_version}.ssmp arch/ + cd makefiles + make ARCH=$_version VERSION=ssmp +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver}/exe/$_version + + install -Dm755 cp2k.ssmp ${pkgdir}/usr/bin/cp2k + install -Dm755 cp2k_shell.ssmp ${pkgdir}/usr/bin/cp2k-shell + install -Dm755 graph.ssmp ${pkgdir}/usr/bin/cp2k-graph +} diff --git a/basic.ssmp b/basic.ssmp new file mode 100644 index 000000000000..54b14313e2dd --- /dev/null +++ b/basic.ssmp @@ -0,0 +1,17 @@ +CC = gcc +CXX = g++ +CPP = +AR = ar -r +FC = gfortran +LD = gfortran +# +DFLAGS = -D__FFTW3 +# +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 +# +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) -llapack -lblas -Wl,--enable-new-dtags -L'/usr/lib' -Wl,-rpath='/usr/lib' +LIBS = -lfftw3 -lfftw3_omp -lstdc++ diff --git a/basic_cuda.ssmp b/basic_cuda.ssmp new file mode 100644 index 000000000000..b6bbca5e87a5 --- /dev/null +++ b/basic_cuda.ssmp @@ -0,0 +1,20 @@ +CC = gcc +CXX = g++ +CPP = +AR = ar -r +FC = gfortran +LD = gfortran +# +DFLAGS = -D__FFTW3 -D__ACC -D__DBCSR_ACC -D__PW_CUDA +# +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 +# +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) -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 +# +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) diff --git a/basic_cuda_plumed.ssmp b/basic_cuda_plumed.ssmp new file mode 100644 index 000000000000..dd21a9332d6d --- /dev/null +++ b/basic_cuda_plumed.ssmp @@ -0,0 +1,22 @@ +CC = gcc +CXX = g++ +CPP = +AR = ar -r +FC = gfortran +LD = gfortran +# +DFLAGS = -D__FFTW3 -D__ACC -D__DBCSR_ACC -D__PW_CUDA -D__PLUMED2 +# +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 +# +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) -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 +# +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) +# +include /usr/lib/plumed/src/lib/Plumed.inc diff --git a/basic_plumed.ssmp b/basic_plumed.ssmp new file mode 100644 index 000000000000..fd5e6fbe7729 --- /dev/null +++ b/basic_plumed.ssmp @@ -0,0 +1,19 @@ +CC = gcc +CXX = g++ +CPP = +AR = ar -r +FC = gfortran +LD = gfortran +# +DFLAGS = -D__FFTW3 -D__PLUMED2 +# +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 +# +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) -llapack -lblas -Wl,--enable-new-dtags -L'/usr/lib' -Wl,-rpath='/usr/lib' +LIBS = -lfftw3 -lfftw3_omp -lstdc++ -lz -ldl -lplumed +# +include /usr/lib/plumed/src/lib/Plumed.inc |