Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
easyblock = 'CMakeMake'

name = 'kim-api'
version = '2.3.0'

homepage = 'https://openkim.org/'
description = """Open Knowledgebase of Interatomic Models.

KIM is an API and OpenKIM is a collection of interatomic models (potentials) for
atomistic simulations. This is a library that can be used by simulation programs
to get access to the models in the OpenKIM database.

This EasyBuild only installs the API, the models can be installed with the
package openkim-models, or the user can install them manually by running
kim-api-collections-management install user MODELNAME
or
kim-api-collections-management install user OpenKIM
to install them all.
"""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}

source_urls = ['https://s3.openkim.org/kim-api/']
sources = ['%(name)s-%(version)s.txz']
checksums = ['93673bb8fbc0625791f2ee67915d1672793366d10cabc63e373196862c14f991']

builddependencies = [('binutils', '2.38')]

dependencies = [
('CMake', '3.23.1'), # Also needed to install models, thus not just a builddependency.
]

parallel = 1
separate_build_dir = True
build_type = 'Release'

modextravars = {
'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64'
}

sanity_check_paths = {
'files': ['bin/kim-api-collections-management', 'lib64/libkim-api.%s' % SHLIB_EXT],
'dirs': []
}

moduleclass = 'chem'
165 changes: 165 additions & 0 deletions easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2022a-kokkos.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
name = 'LAMMPS'
version = '23Jun2022'
versionsuffix = '-kokkos'

homepage = 'https://www.lammps.org'
description = """LAMMPS is a classical molecular dynamics code, and an acronym
for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has
potentials for solid-state materials (metals, semiconductors) and soft matter
(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be
used to model atoms or, more generically, as a parallel particle simulator at
the atomic, meso, or continuum scale. LAMMPS runs on single processors or in
parallel using message-passing techniques and a spatial-decomposition of the
simulation domain. The code is designed to be easy to modify or extend with new
functionality.
"""

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

# 'https://github.com/lammps/lammps/archive/'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['stable_%(version)s_update4.tar.gz']
checksums = ['42541b4dbd0d339d16ddb377e76d192bc3d1d5712fdf9e2cdc838fc980d0a0cf']

builddependencies = [
('CMake', '3.23.1'),
('pkgconf', '1.8.0'),
('archspec', '0.1.4'),
]
dependencies = [
('Python', '3.10.4'),
('libpng', '1.6.37'),
('libjpeg-turbo', '2.1.3'),
('netCDF', '4.9.0'),
('GSL', '2.7'),
('zlib', '1.2.12'),
('gzip', '1.12'),
('cURL', '7.83.0'),
('HDF5', '1.12.2'),
('tbb', '2021.5.0'),
('PCRE', '8.45'),
('libxml2', '2.9.13'),
('FFmpeg', '4.4.2'),
('Voro++', '0.4.6'),
('kim-api', '2.3.0'),
('Eigen', '3.4.0'),
('PLUMED', '2.8.1'),
('ScaFaCoS', '1.0.4'),
('SciPy-bundle', '2022.05'),
# VTK package is auto-disabled if this dep is not available
('VTK', '9.2.2'),
]

# To use additional custom configuration options, use the 'configopts' easyconfig parameter
# See docs and lammps easyblock for more information.
# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options

# OpenMP-Kokkos build is default in the current easyblock. One can switch to serial backend of Kokkos,
# which is claimed to be faster in pure MPI calculations
# configopts = "-DKokkos_ENABLE_SERIAL=yes "


# packages auto-enabled by easyblock
# 'GPU' - if cuda package is present and kokkos is disabled
# 'KOKKOS' - if kokkos is enabled (by default)
# 'INTEL' - if builing on Intel CPU
# 'OPENMP' - if OpenMP swithed on in 'toolchainopts'

# include the following extra packages into the build
general_packages = [
'AMOEBA',
'ASPHERE',
'ATC',
'AWPMD',
'BOCS',
'BODY',
'BPM',
'BROWNIAN',
'CG-DNA',
'CG-SPICA',
'CLASS2',
'COLLOID',
'COLVARS',
'COMPRESS',
'CORESHELL',
'DIELECTRIC',
'DIFFRACTION',
'DIPOLE',
'DPD-BASIC',
'DPD-MESO',
'DPD-REACT',
'DPD-SMOOTH',
'DRUDE',
'EFF',
'ELECTRODE',
'EXTRA-COMPUTE',
'EXTRA-DUMP',
'EXTRA-FIX',
'EXTRA-MOLECULE',
'EXTRA-PAIR',
'FEP',
'GRANULAR',
'H5MD',
'INTERLAYER',
'KIM',
'KSPACE',
'LATBOLTZ',
'LEPTON',
'MACHDYN',
'MANIFOLD',
'MANYBODY',
'MC',
'MDI',
'MEAM',
'MGPT',
'MISC',
'ML-IAP',
'ML-PACE',
'ML-POD',
'ML-RANN',
'ML-SNAP',
'MOFFF',
'MOLECULE',
'MOLFILE',
'MPIIO',
'NETCDF',
'OPT',
'ORIENT',
'PERI',
'PHONON',
'PLUGIN',
'PLUMED',
'POEMS',
'PTM',
'PYTHON',
'QEQ',
'QTB',
'REACTION',
'REAXFF',
'REPLICA',
'RIGID',
'SCAFACOS',
'SHOCK',
'SMTBQ',
'SPH',
'SPIN',
'SRD',
'TALLY',
'UEF',
'VORONOI',
'VTK',
'YAFF',
]

# Excluded packages due to requiring additional (non-trivial) deps
# - ADIOS
# - LATTE
# - MESONT (requires very large files downloaded during build)
# - ML-HDNNP (requires N2P2)
# - ML-QUIP
# - MSCG
# - QMMM (setup seems complex)


moduleclass = 'chem'
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
easyblock = 'ConfigureMake'

name = 'ScaFaCoS'
version = '1.0.4'

homepage = 'http://www.scafacos.de/'
description = """ScaFaCoS is a library of scalable fast coulomb solvers."""

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

source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = [
'6634c4202e825e771d1dd75bbe9cac5cee41136c87653fde98fbd634681c1be6', # scafacos-1.0.1.tar.gz
]

builddependencies = [
('Autotools', '20220317'),
('pkgconf', '1.8.0'),
]

dependencies = [
('GMP', '6.2.1'),
('GSL', '2.7'),
]

preconfigopts = 'unset F77 && '

configopts = 'FCFLAGS="-fallow-argument-mismatch $FCFLAGS" '
configopts += '--enable-shared --enable-static --disable-doc '
# tell it where to find provided FFTW
configopts += '--without-internal-fftw --with-fftw3-includedir=$EBROOTFFTW/include --with-fftw3-libdir=$EBROOTFFTW/lib '
# only include the solvers supported for LAMMPS
# (for p2nfft we need an additonal dependency)
configopts += '--enable-fcs-solvers=direct,ewald,fmm,p3m '

sanity_check_paths = {
'files': ['lib/libfcs.a', 'include/fcs.h', 'include/fcs_module.mod'],
'dirs': [],
}

moduleclass = 'math'
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
##
# Author: Robert Mijakovic <robert.mijakovic@lxp.lu>
##
easyblock = 'ConfigureMake'

name = 'Voro++'
version = '0.4.6'

homepage = 'http://math.lbl.gov/voro++/'
description = """Voro++ is a software library for carrying out three-dimensional computations of the Voronoi
tessellation. A distinguishing feature of the Voro++ library is that it carries out cell-based calculations,
computing the Voronoi cell for each particle individually. It is particularly well-suited for applications that
rely on cell-based statistics, where features of Voronoi cells (eg. volume, centroid, number of faces) can be used
to analyze a system of particles."""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}

source_urls = [
'http://math.lbl.gov/voro++/download/dir/',
'https://download.lammps.org/thirdparty',
]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e']

builddependencies = [('binutils', '2.38')]


# No configure
skipsteps = ['configure']

# Override CXX and CFLAGS variables from Makefile
buildopts = 'CXX="$CXX" CFLAGS="$CXXFLAGS"'

# Override PREFIX variable from Makefile
installopts = "PREFIX=%(installdir)s"

sanity_check_paths = {
'files': ['bin/voro++', 'lib/libvoro++.a', 'include/voro++/voro++.hh'],
'dirs': [],
}

moduleclass = 'math'