-
Notifications
You must be signed in to change notification settings - Fork 50
Brainstorm meeting (June 26th 2020)
Kenneth Hoste edited this page Jun 26, 2020
·
1 revision
-
Fri June 26th 2020, 3pm-5pm CEST
-
attending: Alan, Caspar, Kenneth
-
How to define EESSI software stack?
-
subdir per CPU arch?
-
ideally we want all software everywhere
-
leverage last EB release as much as possible
-
list of easyconfigs (not copies of easyconfigs?)
- central list (all CPU archs)
- exceptions + configuration per CPU arch
-
use hooks to customize stuff
- EasyBuild version-specific hooks implementations
- software-specific hooks?
eb --hooks=eesii_hooks/*.py
-
openmpi_hook.py
if name == 'OpenMPI': ...
-
easyblocks & easyconfigs
- only for fixes that are being pushed upstream
- keep track of PRs + person who follows up in a comment
- structured so follow-up can be automated (merged? included in release?)
-
build list
foo-bar1.2 1.2.3-foss-2020a ALL bar.eb EXCEPT=aarch64,haswell three.eb ONLY=skylake four.eb
# fixed easyconfigs aarch64/four.eb # like JSC overlay
-
environment variables through hooks?
-
don't use
eb --robot
, drive installations through a Python script that uses EasyBuild as a library -
do we aim for only native builds?
- probably...
- cross-compiling can be painful
- emulation of archs through QEMU is another option
-
pilot
OpenFOAM 7-foss-2020a ALL GROMACS 2020-foss-2020a ALL TensorFlow 2.1-foss-2020a EXCEPT=gpu TensorFlow 2.1-fosscuda-2020a ONLY=gpu
-
non-GPU Skylake box:
x86_64/skylake_avx512
,x86_64/haswell
(?) Skylake box with V100:x86_64/skylake-volta
,x86_64/skylake
,x86_64/haswell
-
building for AVX2 on Skylake (e.g. NAMD, GROMACS)
NAMD 1.0-foss-2020a MAP={skylake_avx512,cascadelake}:optarch=avx2
-
versioned build lists in the end?
- similar to generations of easyconfigs
-
-
action points
- define build list in Python dict (
build-list-2020a.py
)- maybe revise JSON/YAML/TOML later?
- comments?
- driver script
- parses build list
- determines installpath
- EasyBuild configuration
- installs missing easyconfigs (in order)
- init script
- prepares env for current host for clients
- on generoso
- tests?
- bash scripts for individual tests?
- test driver script using ReFrame
- separate CVMFS repo for test data, etc.?
- see also https://github.com/EESSI/software-layer/wiki/Pilot-setup#scientific-software
- define build list in Python dict (