cp2k: build with elpa

This commit is contained in:
Markus Kowalewski 2021-12-02 17:22:41 +01:00
parent 1c20debb1a
commit 53f32adc65

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub, python3, gfortran, blas, lapack { lib, stdenv, fetchFromGitHub, python3, gfortran, blas, lapack
, fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper , fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper
, libxsmm, spglib, which , libxsmm, spglib, which, elpa, pkg-config
} : } :
let let
@ -19,8 +19,9 @@ in stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ python3 which openssh makeWrapper ]; nativeBuildInputs = [ python3 which openssh makeWrapper pkg-config ];
buildInputs = [ buildInputs = [
elpa
gfortran gfortran
fftw fftw
gsl gsl
@ -60,20 +61,20 @@ in stdenv.mkDerivation rec {
AR = ar -r AR = ar -r
DFLAGS = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \ DFLAGS = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \
-D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \ -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \
-D__MAX_CONTR=4 -D__LIBVORI -D__MAX_CONTR=4 -D__LIBVORI -D__ELPA
CFLAGS = -fopenmp CFLAGS = -fopenmp
FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \ FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \
-ftree-vectorize -funroll-loops -msse2 \ -ftree-vectorize -funroll-loops -msse2 \
-std=f2008 \ -std=f2008 \
-fopenmp -ftree-vectorize -funroll-loops \ -fopenmp -ftree-vectorize -funroll-loops \
-I${libxc}/include -I${libxsmm}/include \ -I${libxc}/include -I${libxsmm}/include \
-I${libint}/include -I${libint}/include $(pkg-config --variable=fcflags elpa)
LIBS = -lfftw3 -lfftw3_threads \ LIBS = -lfftw3 -lfftw3_threads \
-lscalapack -lblas -llapack \ -lscalapack -lblas -llapack \
-lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \ -lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \
-lint2 -lstdc++ -lvori \ -lint2 -lstdc++ -lvori \
-lgomp -lpthread -lm \ -lgomp -lpthread -lm \
-fopenmp -fopenmp $(pkg-config --libs elpa)
LDFLAGS = \$(FCFLAGS) \$(LIBS) LDFLAGS = \$(FCFLAGS) \$(LIBS)
EOF EOF
''; '';