cp2k : added support for libint, fixed compilation issues on elpa (#1889)
This commit is contained in:
parent
df79ba0dcf
commit
50fcade81b
@ -47,6 +47,7 @@ class Cp2k(Package):
|
|||||||
depends_on('lapack')
|
depends_on('lapack')
|
||||||
depends_on('blas')
|
depends_on('blas')
|
||||||
depends_on('fftw')
|
depends_on('fftw')
|
||||||
|
depends_on('libint@:1.2', when='@3.0')
|
||||||
|
|
||||||
depends_on('mpi', when='+mpi')
|
depends_on('mpi', when='+mpi')
|
||||||
depends_on('scalapack', when='+mpi')
|
depends_on('scalapack', when='+mpi')
|
||||||
@ -56,10 +57,8 @@ class Cp2k(Package):
|
|||||||
depends_on('wannier90', when='+mpi')
|
depends_on('wannier90', when='+mpi')
|
||||||
depends_on('elpa', when='+mpi')
|
depends_on('elpa', when='+mpi')
|
||||||
|
|
||||||
# TODO : add dependency on libint
|
|
||||||
# TODO : add dependency on libsmm, libxsmm
|
# TODO : add dependency on libsmm, libxsmm
|
||||||
# TODO : add dependency on CUDA
|
# TODO : add dependency on CUDA
|
||||||
# TODO : add dependency on QUIP
|
|
||||||
|
|
||||||
parallel = False
|
parallel = False
|
||||||
|
|
||||||
@ -88,7 +87,7 @@ def install(self, spec, prefix):
|
|||||||
}
|
}
|
||||||
cppflags = [
|
cppflags = [
|
||||||
'-D__FFTW3',
|
'-D__FFTW3',
|
||||||
'-D__LIBPEXSI',
|
'-D__LIBINT',
|
||||||
'-I' + spec['fftw'].prefix.include
|
'-I' + spec['fftw'].prefix.include
|
||||||
]
|
]
|
||||||
fcflags = copy.deepcopy(optflags[self.spec.compiler.name])
|
fcflags = copy.deepcopy(optflags[self.spec.compiler.name])
|
||||||
@ -97,7 +96,11 @@ def install(self, spec, prefix):
|
|||||||
])
|
])
|
||||||
fftw = find_libraries(['libfftw3'], root=spec['fftw'].prefix.lib)
|
fftw = find_libraries(['libfftw3'], root=spec['fftw'].prefix.lib)
|
||||||
ldflags = [fftw.search_flags]
|
ldflags = [fftw.search_flags]
|
||||||
libs = []
|
libs = [
|
||||||
|
join_path(spec['libint'].prefix.lib, 'libint.so'),
|
||||||
|
join_path(spec['libint'].prefix.lib, 'libderiv.so'),
|
||||||
|
join_path(spec['libint'].prefix.lib, 'libr12.so')
|
||||||
|
]
|
||||||
if '+plumed' in self.spec:
|
if '+plumed' in self.spec:
|
||||||
# Include Plumed.inc in the Makefile
|
# Include Plumed.inc in the Makefile
|
||||||
mkf.write('include {0}\n'.format(
|
mkf.write('include {0}\n'.format(
|
||||||
@ -145,6 +148,7 @@ def install(self, spec, prefix):
|
|||||||
if '+mpi' in self.spec:
|
if '+mpi' in self.spec:
|
||||||
cppflags.extend([
|
cppflags.extend([
|
||||||
'-D__parallel',
|
'-D__parallel',
|
||||||
|
'-D__LIBPEXSI',
|
||||||
'-D__WANNIER90',
|
'-D__WANNIER90',
|
||||||
'-D__ELPA3',
|
'-D__ELPA3',
|
||||||
'-D__SCALAPACK'
|
'-D__SCALAPACK'
|
||||||
|
@ -58,6 +58,18 @@ def install(self, spec, prefix):
|
|||||||
'CC={0}'.format(self.spec['mpi'].mpicc),
|
'CC={0}'.format(self.spec['mpi'].mpicc),
|
||||||
'FC={0}'.format(self.spec['mpi'].mpifc),
|
'FC={0}'.format(self.spec['mpi'].mpifc),
|
||||||
'CXX={0}'.format(self.spec['mpi'].mpicxx),
|
'CXX={0}'.format(self.spec['mpi'].mpicxx),
|
||||||
|
'FCFLAGS={0}'.format(
|
||||||
|
spec['lapack'].lapack_libs.joined()
|
||||||
|
),
|
||||||
|
'LDFLAGS={0}'.format(
|
||||||
|
spec['lapack'].lapack_libs.joined()
|
||||||
|
),
|
||||||
|
'SCALAPACK_FCFLAGS={0}'.format(
|
||||||
|
spec['scalapack'].scalapack_libs.joined()
|
||||||
|
),
|
||||||
|
'SCALAPACK_LDFLAGS={0}'.format(
|
||||||
|
spec['scalapack'].scalapack_libs.joined()
|
||||||
|
),
|
||||||
'--prefix={0}'.format(self.prefix)
|
'--prefix={0}'.format(self.prefix)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -61,7 +61,8 @@ def install(self, spec, prefix):
|
|||||||
autoconf()
|
autoconf()
|
||||||
|
|
||||||
config_args = [
|
config_args = [
|
||||||
'--prefix={0}'.format(prefix)
|
'--prefix={0}'.format(prefix),
|
||||||
|
'--enable-shared'
|
||||||
]
|
]
|
||||||
|
|
||||||
# Optimizations for the Intel compiler, suggested by CP2K
|
# Optimizations for the Intel compiler, suggested by CP2K
|
||||||
|
Loading…
Reference in New Issue
Block a user