Skip to content

Commit

Permalink
Merge pull request easybuilders#19478 from migueldiascosta/2024010312…
Browse files Browse the repository at this point in the history
…5906_new_pr_BerkeleyGW310

{phys}[foss/2022a] BerkeleyGW v3.1.0
  • Loading branch information
akesandgren authored Jan 9, 2024
2 parents e1ce3c5 + 0ef30d5 commit ecbcc38
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 0 deletions.
34 changes: 34 additions & 0 deletions easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.1.0-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name = 'BerkeleyGW'
version = '3.1.0'

homepage = 'https://www.berkeleygw.org'
description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle
properties and the optical responses of a large variety of materials from bulk periodic crystals to
nanostructures such as slabs, wires and molecules."""

toolchain = {'name': 'foss', 'version': '2022a'}
toolchainopts = {'usempi': True, 'openmp': True}

source_urls = ['https://app.box.com/shared/static/']
sources = [{'download_filename': '2bik75lrs85zt281ydbup2xa7i5594gy.gz', 'filename': SOURCE_TAR_GZ}]
patches = [
'BerkeleyGW-3.1.0_tests.patch',
'BerkeleyGW-3.1.0_makefile.patch',
]
checksums = [
{'BerkeleyGW-3.1.0.tar.gz': '7e890a5faa5a6bb601aa665c73903b3af30df7bdd13ee09362b69793bbefa6d2'},
{'BerkeleyGW-3.1.0_tests.patch': 'ef73cb7b69a6aad0da90538ef673e978e159d96e62147a304780b1ec25a4c156'},
{'BerkeleyGW-3.1.0_makefile.patch': '7a8b4bb593d75cf51ca42f94cd2b0ae5440b80e53e0cd00f183821539bc43fc6'},
]

dependencies = [
('ELPA', '2021.11.001'),
('Perl', '5.34.1'),
('Python', '3.10.4'),
('h5py', '3.7.0'),
('fftlib', '20170628'),
]

runtest = True

moduleclass = 'phys'
45 changes: 45 additions & 0 deletions easybuild/easyconfigs/f/fftlib/fftlib-20170628-gompi-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
easyblock = 'MakeCp'

name = 'fftlib'
version = '20170628'
local_commit = '44c5fa0'

homepage = 'https://github.com/flwende/fftlib'
description = """A library that intercepts FFTW calls and adds features on top of it.
In particular, it enables FFT plan reuse when there are multiple calls for the same geometry."""

toolchain = {'name': 'gompi', 'version': '2022a'}
toolchainopts = {'openmp': True, 'cstd': 'c++11'}

source_urls = ['https://github.com/flwende/fftlib/archive/']
sources = [{'download_filename': '%s.zip' % local_commit, 'filename': SOURCE_ZIP}]
checksums = ['f73dffeaf5c2e6972a5bc67d11ec28390f9eda281a7cb47edc1ee2fe394ed057']

dependencies = [('FFTW', '3.3.10')]

local_options = "-DFFTLIB_THREADSAFE " # use this when multiple threads access fftlib
# local_options += "-DFFTLIB_USE_MKL " # use symbols from MKL's fft library
# local_options += "-DFFTLIB_BYPASS " # bypass fftlib's internal logic
# local_options += "-DFFTLIB_OWN_LOCK " # use fftlib's reader/writer lock
# local_options += "-DFFTLIB_UNSAFE_OPT " # activate unsafe optimizations in fftlib
# local_options += "-DFFTLIB_DEBUG " # print debug messages (infos and warnings)
# local_options += "-DFFTLIB_WARNINGS_ONLY " # print warnings only
# local_options += "-DFFTLIB_COMPOSED_FFT " # split 3d FFT computation into 2d+1d FFT

start_dir = 'src'

parallel = False

build_cmd = "$CXX $CXXFLAGS -I../include -I$EBROOTFFTW/include %s -c fftlib.cpp -o fftlib.o" % local_options

files_to_copy = [(['fftlib.o'], 'lib')]

sanity_check_paths = {
'files': ['lib/fftlib.o'],
'dirs': ["."]
}

# this should be prepended to $LIBFFT(_MT) when building applications in order to intercept their FFT calls
modextravars = {'FFTLIB': "%(installdir)s/lib/fftlib.o -lgomp -lstdc++ -ldl"}

moduleclass = 'lib'

0 comments on commit ecbcc38

Please sign in to comment.