new file: i/IOTK/IOTK-1.2.2-intel-2020a.eb

new file:   i/IOTK/IOTK-intel-2020a.patch
	new file:   l/libxc/libxc-2.2.3-intel-2020a.eb
	new file:   n/netCDF-Fortran/netCDF-Fortran-4.5.2-intel-2020a.eb
	new file:   y/Yambo/Yambo-4.5.2-intel-2020a.eb
This commit is contained in:
Lukáš Krupčík 2020-07-24 13:25:06 +02:00
parent b9cf370a9b
commit 2e868e151f
5 changed files with 254 additions and 0 deletions

View File

@ -0,0 +1,37 @@
# JH 2020
easyblock = 'MakeCp'
name = 'IOTK'
version = '1.2.2'
homepage = 'https://github.com/QEF/iotk/tree/master/iotk'
description = """The input/output tool kit (IOTK) is a Fortran90 library intended to provide a
simplified access to tagged files formatted using some specific rule."""
source_urls = ['https://github.com/yambo-code/yambo/files/962173']
sources = ['iotk-y1.2.2.tar.gz']
toolchain = {'name': 'intel', 'version': '2020a'}
patches = ['IOTK-intel-2020a.patch']
with_configure = True
buildopts = 'all'
maxparallel = 1
files_to_copy = [
(['include/*'], 'include'),
(['src/*.x'], 'bin'),
(['src/*.a'], 'lib'),
(['src/*'], 'src'),
]
sanity_check_paths = {
'files': [],
'dirs': ['bin', 'include', 'lib'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,104 @@
--- Makefile.orig 2017-04-27 12:07:15.000000000 +0200
+++ Makefile 2020-07-23 10:57:23.388831089 +0200
@@ -1,5 +1,47 @@
# Inclusion of system dependent files
-include ../make.sys
+
+# -----------------------------
+# # compilation rules
+
+.SUFFIXES :
+.SUFFIXES : .o .c .F .f90
+
+.F.o:
+ @rm -f $*.f90
+ (eval $(FPP) $(IFLAGS) $(dopts) $*.F > $*.f90 ) > /dev/null
+ (eval $(FC) $(FCFLAGS) -c $*.f90 ) > /dev/null
+ @rm -f $*.f90
+
+
+# -----------------------------
+# # compiler definitions
+
+make = make
+CC = mpiicc
+CFLAGS = -O2 -xHost -ftz -fp-speculation=safe -fp-model source -D_C_US -D_FORTRAN_US $(IFLAGS)
+CPP = mpiicc -E
+FPP = fpp -free -P
+CPPFLAGS = $(IFLAGS)
+FC = mpiifort
+MPIF90 = mpiifort
+FCFLAGS = -nofor_main $(IFLAGS)
+F77 = mpiifort
+FFLAGS = -O2 -xHost -ftz -fp-speculation=safe -fp-model source
+LD = mpiifort
+LDFLAGS = -nofor_main $(IFLAGS)
+AR = ar
+ARFLAGS = -ru
+RANLIB = echo
+#RANLIB = @ranlib@
+
+
+# -----------------------------
+# # libraries
+
+#
+##LIBS = $(extlibs_prefix)/$(fc_kind)/$(f90)/lib/libiotk.a
+LIBS = ./libiotk.a
+IFLAGS = -I./ -I../ -I../include
info:
cd src ; make info
--- src/Makefile.orig 2020-07-23 11:55:21.410994964 +0200
+++ src/Makefile 2020-07-23 11:57:24.072183404 +0200
@@ -129,8 +129,48 @@
# List of used library files
AUTO_LIBS=$(LIB_IOTK)
-# Inclusion of system dependent files
-include $(IDEHOME)/make.sys
+# -----------------------------
+# # # compilation rules
+
+.SUFFIXES :
+.SUFFIXES : .o .c .F .f90
+
+.F.o:
+ @rm -f $*.f90
+ (eval $(FPP) $(IFLAGS) $(dopts) $*.F > $*.f90 ) > /dev/null
+ (eval $(FC) $(FCFLAGS) -c $*.f90 ) > /dev/null
+ @rm -f $*.f90
+
+# -----------------------------
+# # # compiler definitions
+
+make = make
+CC = mpiicc
+CFLAGS = -O2 -xHost -ftz -fp-speculation=safe -fp-model source -D_C_US -D_FORTRAN_US $(IFLAGS)
+CPP = mpiicc -E
+FPP = fpp -free -P
+CPPFLAGS = $(IFLAGS)
+FC = mpiifort
+MPIF90 = mpiifort
+FCFLAGS = -nofor_main $(IFLAGS)
+F77 = mpiifort
+FFLAGS = -O2 -xHost -ftz -fp-speculation=safe -fp-model source
+LD = mpiifort
+LDFLAGS = -nofor_main $(IFLAGS)
+AR = ar
+ARFLAGS = -ru
+RANLIB = echo
+#RANLIB = @ranlib@
+
+# -----------------------------
+# # # libraries
+
+#
+###LIBS = $(extlibs_prefix)/$(fc_kind)/$(f90)/lib/libiotk.a
+LIBS = ./libiotk.a
+IFLAGS = -I./ -I../ -I../include
+
+
# Macro (re)definitions from OPTIONS file (keyword DEFINITION)
PRECISION = $(FAUTODBL)

View File

@ -0,0 +1,34 @@
# JH 2020
easyblock = 'ConfigureMake'
name = 'libxc'
version = '2.2.3'
homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc'
description = """Libxc is a library of exchange-correlation functionals for density-functional theory.
The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'opt': True}
sources = [SOURCE_TAR_GZ]
source_urls = ['https://www.tddft.org/programs/libxc/down/%(version)s']
configopts = 'FC="$F77" FCFLAGS="$FFLAGS" --enable-shared'
# From the libxc mailing list
# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect
# a fully working testsuite soon (unless someone wants to volunteer to do
# it, of course ) In the meantime, unless the majority of the tests
# fail, your build should be fine.
#runtest = 'check'
sanity_check_paths = {
'files': ['lib/libxc.a', 'lib/libxc.%s' % SHLIB_EXT],
'dirs': ['include'],
}
parallel = 1
moduleclass = 'chem'

View File

@ -0,0 +1,26 @@
# JH 2020
name = 'netCDF-Fortran'
version = '4.5.2'
homepage = 'https://www.unidata.ucar.edu/software/netcdf/'
description = """NetCDF (network Common Data Form) is a set of software libraries
and machine-independent data formats that support the creation, access, and sharing of array-oriented
scientific data."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/']
sources = ['v%(version)s.tar.gz']
builddependencies = [
('M4', '1.4.18'),
]
dependencies = [('netCDF', '4.7.3')]
# (too) parallel build fails, but single-core build is fairly quick anyway (~1min)
parallel = 1
moduleclass = 'data'

View File

@ -0,0 +1,53 @@
# JH 2020
easyblock = 'MakeCp'
name = 'Yambo'
version = '4.5.2'
homepage = 'http://www.yambo-code.org'
description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics.
Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True}
source_urls = ['https://github.com/yambo-code/yambo/archive']
sources = ["%(version)s.tar.gz"]
dependencies = [
('netCDF-Fortran', '4.5.2'),
('libxc', '2.2.3'),
('IOTK', '1.2.2'),
]
#with_configure = True
#configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" '
#configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" '
#configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="$LIBFFT" '
#configopts += '--with-netcdf-libs="-lnetcdff -lnetcdf" '
#configopts += '--with-hdf5-path=$EBROOTHDF5 '
#configopts += '--with-libxc-path=$EBROOTLIBXC '
#configopts += '--enable-iotk '
#onfigopts += '--with-iotk-path=$EBROOTIOTK '
#configopts += '--enable-dp --enable-memory-profile --disable-open-mp '
prebuildopts = './configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" --with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" --with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="$LIBFFT" --with-netcdf-libs="-lnetcdff -lnetcdf" --with-hdf5-path=$EBROOTHDF5 --with-libxc-path=$EBROOTLIBXC --enable-iotk --with-iotk-path=$EBROOTIOTK --enable-dp --enable-memory-profile --disable-open-mp && '
buildopts = 'all'
parallel = 1
files_to_copy = [
(['bin/*'], 'bin'),
(['lib/*.a'], 'lib'),
(['include/*'], 'include'),
]
sanity_check_paths = {
'files': ['bin/' + x for x in ['a2y', 'p2y', 'yambo', 'ypp']],
'dirs': []
}
moduleclass = 'phys'