summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authora.kudelin2020-12-06 23:49:49 +0300
committera.kudelin2020-12-06 23:49:49 +0300
commitd023d3078cdb2d186da65675f5298ba49e76f4ae (patch)
tree9f7a7d57db47f81665003612def56f217c847b09
downloadaur-d023d3078cdb2d186da65675f5298ba49e76f4ae.tar.gz
Initial import
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD73
2 files changed, 91 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..64dc60921191
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,18 @@
+pkgbase = lsdalton
+ pkgdesc = A linear-scaling HF and DFT code suitable for large molecular systems
+ pkgver = 2020.0
+ pkgrel = 1
+ url = https://daltonprogram.org
+ arch = x86_64
+ license = LGPL2.1
+ makedepends = cmake
+ makedepends = gcc-fortran
+ depends = scalapack
+ depends = python-cffi
+ depends = hdf5
+ conflicts = lsdalton-git
+ source = https://gitlab.com/dalton/lsdalton/-/archive/v2020.0/lsdalton-v2020.0.tar.bz2
+ sha256sums = 9ecc0087be030c462c7ca6c0666de4223d43ef90866b1b6defc388a608ed5896
+
+pkgname = lsdalton
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..8ab8662ef438
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,73 @@
+# Maintainer: Anton Kudelin <kudelin at protonmail dot com>
+
+pkgname=lsdalton
+pkgver=2020.0
+pkgrel=1
+pkgdesc="A linear-scaling HF and DFT code suitable for large molecular systems"
+arch=("x86_64")
+url="https://daltonprogram.org"
+license=('LGPL2.1')
+depends=('scalapack' 'python-cffi' 'hdf5')
+makedepends=('cmake' 'gcc-fortran')
+conflicts=("$pkgname-git")
+source=("https://gitlab.com/dalton/$pkgname/-/archive/v$pkgver/$pkgname-v$pkgver.tar.bz2")
+sha256sums=('9ecc0087be030c462c7ca6c0666de4223d43ef90866b1b6defc388a608ed5896')
+
+prepare() {
+ cd "$srcdir/$pkgname-v$pkgver"
+ mkdir -p ../build
+ _MPI_FLAGS=$( mpifort -show | sed 's/.*-L/-L/' )
+ _MPI_INCLUDE="-I/usr/include -pthread -I/usr/lib/openmpi"
+
+ # Fixing ScaLAPACK
+ sed -i 's/mkl_scalapack${_lib_suffix}/scalapack/g' cmake/math/MathLibs.cmake
+ sed -i 's/mkl_blacs_openmpi${_lib_suffix}/scalapack/g' cmake/math/MathLibs.cmake
+
+ # Fixing CUDA
+ sed -i '/VAR_PGI/d' src/cuda/BlockedDgemm.F90
+ sed -i '/:: acc_get_cuda_stream/{n;d}' src/cuda/BlockedDgemm.F90
+
+ # Checking if nvcc is in the PATH variable
+ if [ $( echo -n $( which nvcc ) | tail -c 4 ) == nvcc ]
+ then
+ export _ACC=ON
+ echo "GPU is enabled"
+ else
+ export _ACC=OFF
+ echo "GPU is disabled"
+ fi
+}
+
+build() {
+ cd "$srcdir/build"
+ cmake ../$pkgname-v$pkgver \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_Fortran_FLAGS="$_MPI_INCLUDE $FCFLAGS -fallow-argument-mismatch" \
+ -DCMAKE_EXE_LINKER_FLAGS="$_MPI_FLAGS -lscalapack -lhdf5 -lgomp" \
+ -DBUILD_SHARED_LIBS=ON \
+ -DENABLE_OPENMP=ON \
+ -DENABLE_OMP=ON \
+ -DENABLE_MPI=ON \
+ -DENABLE_OPENACC=ON \
+ -DENABLE_PYTHON_INTERFACE=ON \
+ -DXCFUN_PYTHON_INTERFACE=ON \
+ -DENABLE_SCALAPACK=ON \
+ -DBLACS_IMPLEMENTATION=openmpi \
+ -DQCMATRIX_ENABLE_HDF5=ON \
+ -DHDF5_ROOT=/usr \
+ -DENABLE_GPU=$_ACC \
+ -DENABLE_CUDA=$_ACC \
+ -DENABLE_CUBLAS=$_ACC
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+ make DESTDIR="$pkgdir" install
+ cd "$pkgdir/usr"
+ install -dm755 include/openrsp
+ mv openrsp/include/* include/openrsp
+ rm -rf openrsp
+ chmod 644 lib/liblsdalton.a
+}