SlideShare a Scribd company logo
1 of 69
Download to read offline
State of the Union
4th EasyBuild User Meeting
January 30th 2019 - Louvain-la-Neuve (Belgium)
https://users.ugent.be/~kehoste/EasyBuild_20190130_state-of-the-union.pdf
kenneth.hoste@ugent.be https://easybuilders.github.io/easybuild

easybuild@lists.ugent.be https://easybuild.readthedocs.io
https://www.ugent.be/hpc https://www.vscentrum.be
• part of central IT department of Ghent University (Belgium)
• centralised scientific computing services, training & support
• for researchers of UGent, industry & knowledge institutes
• core values:

empowerment - centralisation - automation - collaboration
• member of Flemish Supercomputer Centre (VSC)

https://www.vscentrum.be
• birth place of EasyBuild (summer 2009)
HPC-UGent
!2
• Masters & PhD in Computer Science from UGent
• joined HPC-UGent team in October 2010
• main tasks: user support & training, software installations
• inherited maintenance of (something that looked like) EasyBuild in 2011
• slowly also became EasyBuild lead developer & release manager
• likes family, beer, loud music, FOSS, helping people, dad jokes, stickers, ...
• doesn't like CMake, SCons, Bazel, setuptools, software dependencies, ...
whoami
kenneth.hoste@ugent.be

@boegel (GitHub, IRC, Slack)

@kehoste (Twitter)
!3
https://archive.fosdem.org/2018/schedule/event/how_to_make_package_managers_cry

https://www.youtube.com/watch?v=NSemlYagjIU
• me venting ~7 years of frustration with getting scientific software installed
• TensorFlow as main motivator
• sarcastic tone for dramatic effect (it worked!)
• lots of feedback (and ideas for an extended version of the talk)
• clearly hit a nerve...
How to make package managers cry
!4
4th EasyBuild User Meeting: 39 attendees (10 countries)
Cenearo

diviti

Gluo
IBM

Red Hat

Sylabs
Previous user meetings:
• 2016: 19 (HPC-UGent)
• 2017: 35 (JSC)
• 2018: 45 (SurfSARA)
!5
industry, 7
Belgium
(CECI), 10
Germany,
5
Switzerland, 5
Belgium
(VSC), 3
Austria, 2
Sweden, 2
Czech Republic, 2
France, 1
US, 1 UK, 1
EUM19 agenda (Wednesday, Jan 30th 2019)
• [10.00am] Welcome (prof. Bernard Nysten, UCLouvain)
• [10.15am] EasyBuild: State of the Union (Kenneth Hoste, HPC-UGent)
• [12.00pm] lunch break
• [1.00pm] site presentations: CECI, CSCS, IT4Innovations, Fred Hutch
• [3.00pm] coffee break
• [3.30pm] Tutorial on creating/contributing easyconfig files (Kenneth Hoste)
• [4.00pm] Hands-on session (+ brewery visits)
!6
EUM19 agenda (Thursday, Jan 31st 2019) [1/2]
• [09.00am] Collective Knowledge framework (Grigori Fursin, diviti)
• [09.30am] OpenHPC introduction (Adrian Reber, Red Hat)
• [10.00am] ReFrame, A Regression Testing and Continuous Integration
Framework for HPC systems (Victor Holanda Rusu, CSCS)
• [10.30am] Hands-on session + coffee break
• [11.20am] Deploying Electronic-Structure Codes with EasyBuild

(Yann Pouillon, University of Cantabria) [remote]
• [12.00pm] lunch break
!7
EUM19 agenda (Thursday, Jan 31st 2019) [2/2]
• [1.00pm] Singularity 3.0 (Eduardo Arango, Sylabs)
• [2.00pm] Hands-on session (+ coffee break)
• [3.00pm] Cloud & local software deployment using CVMFS, EasyBuild & Lmod

(Davide Vanzo, Vanderbilt University) [remote]
• [4.00pm] Lmod/XALT update (Robert McLay, TACC) [remote]
• [4.45pm] Python at Compute Canada (Bart Oldeman, ComputeCanada) [remote]
• [5.15pm] Hands-on session
• [6.30pm] Group dinner (sponsored by HPC-UGent)
!8
EUM19 agenda (Friday, Feb 1st 2019)
• [9.00am] Modules: automatic and consistent handling of module file 

dependencies (Xavier Delaruelle, CEA)
• [9.30am] Ansible module for EasyBuild (Olivier Mattelaer, UCLouvain/CISM)
• [10.00am] Finding a home for EasyBuild in EuroHPC (Alan O'Cais, JSC)
• [10.30am] (coffee break +) hands-on session (+ lunch break)
• [1.00pm] Spack: a Package Manager For Scientific Software

(Massimiliano Culpo, EPFL)
• [1.45pm] (coffee break +) hands-on session (+ brewery visits)
!9
Live streaming & recording of all EUM19 talks
• Live streaming of all talks via the (brand new) EasyBuild YouTube channel

https://www.youtube.com/channel/UCqPyXwACj3sjtOho7m4haVA
(or https://tiny.cc/easybuild_youtube)
• Talk recordings should be available there shortly after each talk
• Talks from all 4 previous EasyBuild User Meetings are also listed there,

together with other talks on EasyBuild and related tools (see playlists)
2nd EasyBuild User Survey
!11
• anonymous survey via
• intention was to get better insight in EasyBuild community & usage
• survey invitations sent via EasyBuild mailing list, Slack/IRC + Twitter
• 36 questions, 11 min. to fill out (on average)
• 93 responses (up from 77 last year)
• assumed to give a fairly relevant view (but results interpreted with a grain of salt)
• (results are discussed out of order compared to order of questions in survey)
• EasyBuild community has been growing rapidly the last couple of years
• hundreds of HPC sites and companies worldwide,

incl. JSC, CSCS, SURFsara, Pfizer, ...
• very welcoming & supportive to newcomers
The EasyBuild community
!12
group picture

3rd EasyBuild User Meeting

@ SurfSARA (Jan 2018)
2nd EasyBuild User Survey
!13
What is your primary profile? What type of organisation do you work for?
(very similar results compared to previous survey for both)
Clear bias towards sysadmins & user support.
2nd EasyBuild User Survey
!14
In which part of the world are you located? How long have you been using EasyBuild?
Small shift to more Europe (64% ☞ 73%),

less North America (27% ☞ 20%)

Spack effect?
Small shift to "long-term" (> 1 year) users,

"new" users (< 1 year) from 26% to 19%
• not YABT (Yet Another Build Tool)

it does not replace build tools like cmake or make; it wraps around them
• not a replacement for your favourite package manager (yum, apt-get, ...)

it leverages some tools & libraries provided by the OS (glibc, OpenSSL, libibverbs, ...)
• not a magic solution to all your (software compilation/installation) problems...

you may still run into compiler errors (if nobody else has already taken care of it)
!15
is ...
• a uniform interface that wraps around software installation procedures
• a huge time-saver, by automating tedious/boring/repetitive tasks
• a way to provide a consistent software stack to your users
• an expert system for software installation on HPC systems
• a platform for collaboration with HPC sites worldwide
• a way to let users to manage their own software stack on HPC systems
!16
is ...
2nd EasyBuild User Survey
!17
What is the main aspect of EasyBuild that convinced you to start using it?
Framework functionality (67% ☞ 69%) and

supported software (18% ☞ 11%) remain biggest factors.
2nd EasyBuild User Survey
!18
How did you first learn about EasyBuild?
Majority is still by word-of-mouth (79% ☞ 67%),
significant increase of "already in use" (4% ☞ 19%)
!19
• in-house development at HPC-UGent since summer 2009
• first public release in April 2012 (EasyBuild v0.5)
• first stable release on November 13th 2012, during SC'12 (EasyBuild v1.0)
• intention was to get feedback, but gradually a community emerged around it...
• frequent stable releases since then (latest: EasyBuild v3.8.1, Jan 29th 2019)
• community-driven development: bug reports, feature requests, contributions
6 years of (stable)
2nd EasyBuild User Survey
!20
Which EasyBuild version do you use? If you're not using the latest release, why not?
95% relies on EasyBuild releases,

majority is up-to-date with most recent version.

(very similar to previous survey)
(very similar to previous survey)
2nd EasyBuild User Survey
!21
How do you like the frequency of EasyBuild releases?
significant increase in 'OK' compared to previous survey: 65% ☞ 81%
CentOS
6.xCentOS
7.xRHEL6.xRHEL7.x
ScientificLinux
Ubuntu
16.04
Ubuntu
18.xDebian
8Debian
9
Debian
testing
SLES
Cray
m
acOS
other
0%
10%
20%
30%
40%
50%
60%
70%
80%
%ofpeopleusingthisOS
2nd EasyBuild User Survey
!22
On which operating system(s) do you use EasyBuild (most commonly)?
• Red Hat based distros are most prevalent (green)
• 20% still using CentOS 6.x, 10% RHEL6 (Python 2.6)
• minority use Debian-based OS (blue), SLES, or Cray
(multiple answers possible)
2nd EasyBuild User Survey
!23
Which Python version do you usually use to run EasyBuild?
• vast majority uses Python 2.7 (83% ☞ 84%)
• significant decline for Python 2.6 (16% ☞ 6%)
• I want to talk to the people who are already

using EasyBuild on top of Python 3...

(more people use Python 3.x than Python 2.6?!)
2nd EasyBuild User Survey
!24
How troublesome would it be for you if EasyBuild becomes incompatible with Python 2.6?
• no longer supporting Python 2.6 would
probably not have a high impact
• nobody answered "disastrous"
• declining number of people care about
Python 2.6 (13% ☞ 4%)
• some people stuck on CentOS 6 or
RHEL 6 have installed Python 2.7
2nd EasyBuild User Survey
!25
How important is it to you that EasyBuild becomes compatible with Python 3?
• results are quite similar to previous survey
• slightly more people worry about

Python 3 compatibility (27% ☞ 32%)
• more people consider it critical (4% ☞ 11%)
• Python 2 is end-of-line Jan 1st 2020...

(https://www.python.org/dev/peps/pep-0373)
• ... yet RHEL8 will still include python2 (?!)
EasyBuild 4.0
!26
Goals:
1) compatibility with Python 3 (+ Python 2.7, maybe still Python 2.6)
2) no (required) dependencies
• no vsc-install, vsc-base, setuptools required
3) single-tarball releases on PyPI
• rather than 3+1 releases now (framework, easyblocks, easyconfigs + 'easybuild' meta-package)
• different GitHub repositories will stay (different rate of development)
4) Deprecating the dummy toolchain, adding system toolchain as replacement
5) custom easyblock for Open MPI
6) switch to using 'pip' as default installer for Python packages (?)
see also https://github.com/easybuilders/easybuild/issues/447
(preliminary) ETA: summer 2019
3
2
Python 3 support is work-in-progress
!27
• porting effort to allow running EasyBuild with Python 3 already under way
• intention is to work on Python 3 support in parallel with EasyBuild 3.x
• see separate 4.x branch in easybuild-framework repository
• 4.x branch is kept in sync with current develop
• current status:
• relevant code from vsc-install + vsc-base ingested into easybuild-framework
• all Python 3 syntax errors fixed: all Python modules in framework can be imported
• EasyBuild configuration works
• tests pass for easybuild.tools.filetools module
3
2
Python 3 support is work-in-progress
!28
Planning:
• first all framework tests should pass on top of Python 3 (WIP, about halfway there?)
• step by step, small PRs that are easy to review
• after framework, easyblocks can be ported (minor effort, mostly imports?)
• nothing much to do for easyconfigs?
• testing, testing, testing...
• EasyBuild 4.0.0 release with (experimental?) support for Python 3
3
2
Actively helping out with this effort is very much appreciated!
see label: https://github.com/easybuilders/easybuild-framework/labels/python3
• intel and foss1
toolchains are most commonly used in EasyBuild community
• helps to focus efforts of HPC sites using one or both of these toolchains
• updated twice a year, clear versioning scheme: <year>{a,b} (2017b, 2018a, ...)
• latest version:
• foss/2019a

binutils 2.31.1, GCC 8.2, OpenMPI 3.1.3, OpenBLAS 0.3.5 (incl. (Sca)LAPACK), FFTW 3.3.8
• intel/2019b

binutils 2.31.1 + GCC 8.2 as base

Intel compilers 2019.1.144, Intel MPI 2018.4.274, Intel MKL 2019.1.144
Community (common) toolchains
http://easybuild.readthedocs.io/en/latest/Common-toolchains.html
(1) FOSS: Free and Open Source Software !29
2nd EasyBuild User Survey
!30
Which (full) toolchain(s) do you use? (check all that apply)
foss/2018b
foss/2018a
foss/2017{a,b}
foss(common)
foss(other)
fosscuda
intel/2018b
ntel/2018a
intel/2017{a,b}
intel(common)
intel(other)
intelcuda
iomkl
gimkl
gmvolf
goolf(c)
ictce
Cray
PGI
other
0%
10%
20%
30%
40%
50%
60%%ofpeopleusingthistoolchain • (recent) foss & intel toolchains most used
• Significant shift to most recent versions

compared to previous survey
• declining use of old common versions
• other most common: fosscuda, iomkl
2nd EasyBuild User Survey
!31
How frequently should the 'foss' and 'intel' common toolchains be updated?
• preference for current update frequency

(twice per year) has increased

(47% ☞ 57%)
• slight decrease for "once a year"

(37% ☞ 28%)
• no changes planned
2nd EasyBuild User Survey
!32
How many software installations did you

perform in the last year using EasyBuild?
Is EasyBuild your only way of

installing (scientific) software?
(all fairly similar to previous survey)
Do you still install (scientific)
software manually?
2nd EasyBuild User Survey
!33
Which easyconfig files do you use?

(check all that apply)
Do you use any custom easyblocks?
85% uses easyconfigs included with EasyBuild

67% uses own easyconfigs

45% maintains own repo

(very similar to previous survey)
(very similar to previous survey)
own incl. in EasyBuild own repo other repos whatever I can
get my hands on
0%
10%
20%
30%
40%
50%
60%
70%
80%
2nd EasyBuild User Survey
!34
Have you made any site-specific customisations to EasyBuild?
• fairly similar to previous survey
• ~45% indicated having customised code
• reasons?
• contributed back?
EasyBuild mailing list (subscribers)
(2013)

+25
(2014)

+30
(2015)

+55
(2016)

+50
(2017)

+60
Over 250 people subscribed to EasyBuild mailing list, still growing...
!35
(2018)

+55
0
200
400
600
800
1,000
1,200
2012 2013 2014 2015 2016 2017 2018
#messages/year
EasyBuild mailing list (traffic)
effect
Traffic on EasyBuild mailing list peaked in 2017,

most likely due to EasyBuild Slack channel.
!36
(+ IRC) channel
!37
• #general on easybuild.slack.com is linked with #easybuild on IRC (freenode)
• ~130 members on Slack channel (+ about 15 (also) on IRC)
• steady growth in activity: 30-40 weekly active users
• self-invite via https://easybuild-slack.herokuapp.com !
2nd EasyBuild User Survey
!38
Are you subscribed to the EasyBuild mailing list? Do you use the EasyBuild IRC/Slack channel?
A significant part of the EasyBuild community remains silent.
IRC/Slack is not the right place to make "big" decisions,

since less than 25% actually pays attention to it.
(very similar to previous survey)
documentation stats
EasyBuild documentation at https://easybuild.readthedocs.io

400-500 weekly visitors
(source: Google Analytics)
!39
cities from where https://easybuild.readthedocs.io was visited

at least 10 times during the last year
(source: Google Analytics) !40
The sun never sets on ...
2nd EasyBuild User Survey
!41
How complete is the

EasyBuild documentation?
How often do you consult the
EasyBuild documentation?
> 75% consults documentation

monthly or more frequent
How useful is the EasyBuild
documentation to you?
fairly to very complete

according to ~75%

(small decline compared to

previous survey, was 81%)
97% finds it at least

somewhat useful

(nobody answered

"totally useless")
2nd EasyBuild User Survey
!42
What is your favourite EasyBuild feature?
quite different compared to previous survey

(but list of suggested answers is also different)
2nd EasyBuild User Survey
!43
Which parts of EasyBuild do you not like? (check all that apply)
fixed
dep
versions
NONE
lack
ofm
anpow
er
otherdiff.repos
EB
docs
lack
ofcom
m
.support
notfixing
know
n
bugstoolchains
lack
ofstability
CLI
w
ebsite
0%
5%
10%
15%
20%
25%
30%
35%
40% • "other" category (~20%) is very diverse:
• lacking documentation
• no uninstall support
• lack of support for Python 3
• ...
2nd EasyBuild User Survey
!44
Do you use any other tools/projects in combination with EasyBuild?
Lm
od
6.xLm
od
7.x
Tm
od
3.2.10Tm
od
4.x
Tm
od
(older)GC3Pie
SlurmSingularity
FPM
Spack
conda
NixDocker
XALTOpenHPC
other
0%
10%
20%
30%
40%
50%
60%
• Singularity has become more popular (27% ☞ 37%)
• 16% also uses conda...
• vast majority uses Lmod as modules tool
• similar to previous survey (when adding Lmod 6.x + 7.x)
• ~30% uses Slurm in combination with EasyBuild (eb --job)?
2nd EasyBuild User Survey
!45
If a commercial support option would be available,

would you consider purchasing it?
(very similar to previous survey)
Using a custom module naming scheme
• a couple of different module naming schemes are included in EasyBuild
• see --avail-module-naming-schemes
• specify active module naming scheme via --module-naming-scheme
• default: EasyBuildMNS (<name>/<version>-<toolchain>-<versionsuffix>)
• you can implement your own module naming scheme relatively easily
• specify how to compose module name using provided metadata
• via Python module that defines custom derivative class of ModuleNamingScheme
• make EasyBuild aware of it via --include-module-naming-schemes
• decouple naming of install dirs vs modules via --fixed-installdir-naming-scheme
!46
2nd EasyBuild User Survey
!47
Which module naming scheme do you use?
(very similar to previous survey)
Flat module naming scheme
• all modules are always available for loading
• long(er) module names
• 'module avail' may be overwhelming for users
• too easy to load incompatible modules together
OpenMPI/1.10.2-GCC-5.3.0
GCC/5.3.0 GCC/6.1.0
FFTW/3.3.4-gompi-2016.04
(not available)
(loaded)
(available)
legend
OpenMPI/2.1.0-GCC-5.3.0 OpenMPI/1.10.3-GCC-6.1.0 OpenMPI/2.1.0-GCC-6.1.0
FFTW/3.3.6-gompi-2016.04 FFTW/3.3.6-gompi-2016.07FFTW/3.3.4-gompi-2016.07
!48
Hierarchical module naming scheme (1)
• modules are organised in a tree-like fashion
• initially, only 'core' modules are available for loading
• typically 3 hierarchy levels: core, compiler-dependent, MPI-dependent
• other modules are only visible via 'module spider'
OpenMPI/2.1.0OpenMPI/2.1.0OpenMPI/1.10.6
GCC/5.3.0 GCC/6.1.0
OpenMPI/1.10.6
FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6
Core level
Compiler level

(compiler-dependent)
MPI level

(MPI-dependent)
(not available)
(loaded)
(available)
legend
!49
• Core modules may extend $MODULEPATH with an additional location
• loading a Core module may make more modules available
• in this example, loading a GCC module makes OpenMPI modules available
OpenMPI/2.1.0OpenMPI/2.1.0OpenMPI/1.10.6
GCC/5.3.0 GCC/6.1.0
OpenMPI/1.10.6
FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6
Core level
Compiler level

(compiler-dependent)
MPI level

(MPI-dependent)
Hierarchical module naming scheme (2)
(not available)
(loaded)
(available)
legend
!50
OpenMPI/2.1.0OpenMPI/2.1.0OpenMPI/1.10.6
GCC/5.3.0 GCC/6.1.0
OpenMPI/1.10.6
FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6
Core level
Compiler level

(compiler-dependent)
MPI level

(MPI-dependent)
• even more modules may be made available by loading other modules
• for example, loading an OpenMPI modules reveals MPI-dependent modules
• EasyBuild can organise modules in hierarchy for you!
Hierarchical module naming scheme (3)
(not available)
(loaded)
(available)
legend
!51
2nd EasyBuild User Survey
!52
How long are modules installed with EasyBuild available to users?
increase for "limited time, then indirectly available": 14% ☞ 21%
Contributors, contributors, contributors...
!53
2nd EasyBuild User Survey
!54
Do you actively contribute to EasyBuild? (check all that apply)
issuesm
ailinglist
IRC/Slack
PRs(easyconfigs)
PRs(easyblocks)
PRs(fram
ew
ork)
PRs(docum
entation)
review
/testPRs
no
0%
10%
20%
30%
40%
50% • Overall minor decline:
• mailing list (35% ☞ 23%)
• IRC/Slack (18% ☞ 13%)
• easyconfig PRs (49% ☞ 38%)
• easyblock PRs (26% ☞ 18%)
• framework PRs (18% ☞ 13%)
• review/testing of PRs (18% ☞ 11%)
• Increase for issues (47% ☞ 53%)
• Similar for documentation + no contr.
!55
• less PRs than back in 2016 (mostly due to lack of time by boegel)
• ~20% of PRs by maintainers other than boegel + additional 20% by others
Overview of contributions (framework)
0
50
100
150
200
250
300
350
2012 2013 2014 2015 2016 2017 2018
boegel HPC-UGent maintainers other
!56
• 25% of PRs by maintainers other than boegel + additional 25% by others
• mostly maintenance of existing easyblocks
Overview of contributions (easyblocks)
0
50
100
150
200
250
300
2012 2013 2014 2015 2016 2017 2018
boegel HPC-UGent maintainers other
0
200
400
600
800
1000
1200
1400
1600
1800
2012 2013 2014 2015 2016 2017 2018
#openedpullrequests
boegel HPC-UGent maintainers other
!57
• explosive growth in easyconfig PRs since 2016 (partially thanks to --new-pr)
• stabilised in last couple of years; ~1,600 PRs in 2018
• growing ratio of PRs from contributors that are not maintainers (~45% in 2018)
Overview of contributions (easyconfigs)
!58
• over 80 unique contributors to EasyBuild framework so far
• recently reached 100 total unique contributors for easyblocks, 200 for easyconfigs!
• steadily growing number of unique contributors to easyconfigs
0
50
100
150
200
2012 2013 2014 2015 2016 2017 2018 2019
total#uniquecontributors
framework easyblocks easyconfigs
Overview of unique contributors (total)
!59
• ~25 unique contributors per year to EasyBuild framework
• 30-35 unique contributors per year to easyblocks, fairly stable in recent years)
• steadily growing number of unique contributors per year for easyconfigs (100 in 2019?)
Overview of unique contributors (per year)
0
10
20
30
40
50
60
70
80
90
100
2012 2013 2014 2015 2016 2017 2018
#uiquecontributors
framework easyblocks easyconfigs
Maintainers, maintainers, maintainers, ...
!60
EasyBuild maintainers
!61
• Damian Alvarez - @damianam

(Jülich Supercomputing Centre)
• Miguel Dias Costa - @migueldiascosta

(National University of Singapore)
• Pablo Escobar - @pescobar 

(sciCORE, University of Basel)
• Kenneth Hoste - @boegel

(HPC-UGent)
• Adam Huffman - @verdurin

(Big Data Institute, University of Oxford)
• Alan O’Cais - @ocaisa

(Jülich Supercomputing Centre)
• Bart Oldeman - @bartoldeman

(ComputeCanada)
• Ward Poelmans - @wpoely86

(Free University of Brussels)
• Åke Sandgren - @akesandgren

(Umeå University, Sweden)
• Davide Vanzo - @vanzod

(Vanderbilt University)
https://easybuild.readthedocs.io/en/latest/Maintainers.html
Since summer 2017, there are 10 EasyBuild maintainers.

Since May 2018, there is a rotating "maintainer-of-the-week" (MotW) role.
2nd EasyBuild User Survey
!62
How would you rate the overall quality of EasyBuild?
100% positive!
(nobody answered "could be better" or "pretty bad")
(very similar to previous survey)
2nd EasyBuild User Survey
!63
Do you have any suggestions for additional features? (1/2)
• support for uninstalling packages (with check on dependencies)
• better support for filtering/hiding dependencies
• "containers, containers, containers"
• support for skipping sanity check (supported since EasyBuild 3.7.0 via skipsteps)
• "steep learning curve"
• missing documentation on best practices / common workflows
2nd EasyBuild User Survey
!64
• list of dependency versions per toolchain (esp. for common toolchains)
• loosen up the restriction on dependency versions
• semi-auto creation of easyconfigs based on existing ones (WIP: eb --new)
• installing multiple packages in a single-directory more easily
• better error reporting / readability of build logs
• support for using multiple module naming schemes at once
Do you have any suggestions for additional features? (2/2)
Future work: changes w.r.t. Python (packages)
!65
We're actively looking into some changes w.r.t. handling of:
• installation of Python interpreter + standard library (with batteries incl.)
• now done using "full" toolchain (foss/intel/...)
• looking into installing Python with subtoolchain (GCCcore)

+ separate bundle with Python packages that require MPI/BLAS/LAPACK
• installation of Python packages for different Python versions
• now done with separate easyconfigs/installation directories/modules
• considering switch to ComputeCanada approach (see Bart's remote talk on Thu)
• single easyconfig/installdir/module combined some Python sys.path magic

to automatically pick up the right installation based on active Python version
Future work: testing contributions in isolation
!66
Testing contributions in isolation:
• mainly relevant for easyconfig PRs
• avoid that OS packages on test system affect test result
• test contributions both in:
• minimal environment
• fully loaded system (Boost, zlib, etc. installed in OS)
• different (versions of) Linux distros
• via (standardised?) Singularity images
Party edition?
Sometime late 2019 or early 2020...

Let me know if you're interested in hosting it!
5th EasyBuild User Meeting
!67
Questions?
kenneth.hoste@ugent.be http://easybuilders.github.io/easybuild
easybuild@lists.ugent.be http://easybuild.readthedocs.io
!68
State of the Union
4th EasyBuild User Meeting
January 30th 2019 - Louvain-la-Neuve (Belgium)
https://users.ugent.be/~kehoste/EasyBuild_20190130_state-of-the-union.pdf
kenneth.hoste@ugent.be https://easybuilders.github.io/easybuild

easybuild@lists.ugent.be https://easybuild.readthedocs.io
https://www.ugent.be/hpc https://www.vscentrum.be

More Related Content

Similar to EasyBuild State of the Union

Helsinki 20180314 v7
Helsinki 20180314 v7Helsinki 20180314 v7
Helsinki 20180314 v7ISSIP
 
TFI2014 Conference Opening - ISOC Deployment & Operationalization
TFI2014 Conference Opening - ISOC Deployment & OperationalizationTFI2014 Conference Opening - ISOC Deployment & Operationalization
TFI2014 Conference Opening - ISOC Deployment & OperationalizationColorado Internet Society (CO ISOC)
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Massimo Menichinelli
 
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...Clement Levallois
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?Alex Meadows
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortJordi Cabot
 
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYA
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYAMAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYA
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYAssuserb054d21
 
Helsinki 20180314 v6
Helsinki 20180314 v6Helsinki 20180314 v6
Helsinki 20180314 v6ISSIP
 
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...BDekkema
 
EUDAT-EGI collaboration - Welcome and Overview
EUDAT-EGI collaboration - Welcome and OverviewEUDAT-EGI collaboration - Welcome and Overview
EUDAT-EGI collaboration - Welcome and OverviewEUDAT
 
第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@RikenKeiichiro Ono
 
Foundation Comparison
Foundation ComparisonFoundation Comparison
Foundation ComparisonJody Garnett
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONDawn Foster
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsDawn Foster
 
Tutorial helsinki 20180313 v1
Tutorial helsinki 20180313 v1Tutorial helsinki 20180313 v1
Tutorial helsinki 20180313 v1ISSIP
 
2_Big Data Sources part3-Day 1-B Tools.pptx
2_Big Data Sources part3-Day 1-B Tools.pptx2_Big Data Sources part3-Day 1-B Tools.pptx
2_Big Data Sources part3-Day 1-B Tools.pptxssuser87a462
 

Similar to EasyBuild State of the Union (20)

Helsinki 20180314 v7
Helsinki 20180314 v7Helsinki 20180314 v7
Helsinki 20180314 v7
 
Network Automation e-Academy
Network Automation e-AcademyNetwork Automation e-Academy
Network Automation e-Academy
 
GridOrbit
GridOrbitGridOrbit
GridOrbit
 
TFI2014 Conference Opening - ISOC Deployment & Operationalization
TFI2014 Conference Opening - ISOC Deployment & OperationalizationTFI2014 Conference Opening - ISOC Deployment & Operationalization
TFI2014 Conference Opening - ISOC Deployment & Operationalization
 
ION Belfast - Opening Slides - Chris Grundemann
ION Belfast - Opening Slides - Chris GrundemannION Belfast - Opening Slides - Chris Grundemann
ION Belfast - Opening Slides - Chris Grundemann
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
 
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYA
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYAMAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYA
MAKHANLAL CHATURVEDI RASHTRIYA PATRAKARITA AVAM SANCHAR VISHWAVIDYALAYA
 
Helsinki 20180314 v6
Helsinki 20180314 v6Helsinki 20180314 v6
Helsinki 20180314 v6
 
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
Kick-off nieuwe Monitoring Werkgroep bij de GSE tijdens de Nationale GSE Conf...
 
EUDAT-EGI collaboration - Welcome and Overview
EUDAT-EGI collaboration - Welcome and OverviewEUDAT-EGI collaboration - Welcome and Overview
EUDAT-EGI collaboration - Welcome and Overview
 
第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken
 
Foundation Comparison
Foundation ComparisonFoundation Comparison
Foundation Comparison
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCON
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community Metrics
 
Tutorial helsinki 20180313 v1
Tutorial helsinki 20180313 v1Tutorial helsinki 20180313 v1
Tutorial helsinki 20180313 v1
 
2_Big Data Sources part3-Day 1-B Tools.pptx
2_Big Data Sources part3-Day 1-B Tools.pptx2_Big Data Sources part3-Day 1-B Tools.pptx
2_Big Data Sources part3-Day 1-B Tools.pptx
 

More from inside-BigData.com

Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...inside-BigData.com
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networksinside-BigData.com
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...inside-BigData.com
 
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...inside-BigData.com
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...inside-BigData.com
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networksinside-BigData.com
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoringinside-BigData.com
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecastsinside-BigData.com
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Updateinside-BigData.com
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19inside-BigData.com
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuninginside-BigData.com
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODinside-BigData.com
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Accelerationinside-BigData.com
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficientlyinside-BigData.com
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Erainside-BigData.com
 
CUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computingCUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computinginside-BigData.com
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Clusterinside-BigData.com
 

More from inside-BigData.com (20)

Major Market Shifts in IT
Major Market Shifts in ITMajor Market Shifts in IT
Major Market Shifts in IT
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networks
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
 
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecasts
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Update
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Acceleration
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Era
 
CUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computingCUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computing
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Cluster
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

EasyBuild State of the Union

  • 1. State of the Union 4th EasyBuild User Meeting January 30th 2019 - Louvain-la-Neuve (Belgium) https://users.ugent.be/~kehoste/EasyBuild_20190130_state-of-the-union.pdf kenneth.hoste@ugent.be https://easybuilders.github.io/easybuild
 easybuild@lists.ugent.be https://easybuild.readthedocs.io https://www.ugent.be/hpc https://www.vscentrum.be
  • 2. • part of central IT department of Ghent University (Belgium) • centralised scientific computing services, training & support • for researchers of UGent, industry & knowledge institutes • core values:
 empowerment - centralisation - automation - collaboration • member of Flemish Supercomputer Centre (VSC)
 https://www.vscentrum.be • birth place of EasyBuild (summer 2009) HPC-UGent !2
  • 3. • Masters & PhD in Computer Science from UGent • joined HPC-UGent team in October 2010 • main tasks: user support & training, software installations • inherited maintenance of (something that looked like) EasyBuild in 2011 • slowly also became EasyBuild lead developer & release manager • likes family, beer, loud music, FOSS, helping people, dad jokes, stickers, ... • doesn't like CMake, SCons, Bazel, setuptools, software dependencies, ... whoami kenneth.hoste@ugent.be
 @boegel (GitHub, IRC, Slack)
 @kehoste (Twitter) !3
  • 4. https://archive.fosdem.org/2018/schedule/event/how_to_make_package_managers_cry
 https://www.youtube.com/watch?v=NSemlYagjIU • me venting ~7 years of frustration with getting scientific software installed • TensorFlow as main motivator • sarcastic tone for dramatic effect (it worked!) • lots of feedback (and ideas for an extended version of the talk) • clearly hit a nerve... How to make package managers cry !4
  • 5. 4th EasyBuild User Meeting: 39 attendees (10 countries) Cenearo
 diviti
 Gluo IBM
 Red Hat
 Sylabs Previous user meetings: • 2016: 19 (HPC-UGent) • 2017: 35 (JSC) • 2018: 45 (SurfSARA) !5 industry, 7 Belgium (CECI), 10 Germany, 5 Switzerland, 5 Belgium (VSC), 3 Austria, 2 Sweden, 2 Czech Republic, 2 France, 1 US, 1 UK, 1
  • 6. EUM19 agenda (Wednesday, Jan 30th 2019) • [10.00am] Welcome (prof. Bernard Nysten, UCLouvain) • [10.15am] EasyBuild: State of the Union (Kenneth Hoste, HPC-UGent) • [12.00pm] lunch break • [1.00pm] site presentations: CECI, CSCS, IT4Innovations, Fred Hutch • [3.00pm] coffee break • [3.30pm] Tutorial on creating/contributing easyconfig files (Kenneth Hoste) • [4.00pm] Hands-on session (+ brewery visits) !6
  • 7. EUM19 agenda (Thursday, Jan 31st 2019) [1/2] • [09.00am] Collective Knowledge framework (Grigori Fursin, diviti) • [09.30am] OpenHPC introduction (Adrian Reber, Red Hat) • [10.00am] ReFrame, A Regression Testing and Continuous Integration Framework for HPC systems (Victor Holanda Rusu, CSCS) • [10.30am] Hands-on session + coffee break • [11.20am] Deploying Electronic-Structure Codes with EasyBuild
 (Yann Pouillon, University of Cantabria) [remote] • [12.00pm] lunch break !7
  • 8. EUM19 agenda (Thursday, Jan 31st 2019) [2/2] • [1.00pm] Singularity 3.0 (Eduardo Arango, Sylabs) • [2.00pm] Hands-on session (+ coffee break) • [3.00pm] Cloud & local software deployment using CVMFS, EasyBuild & Lmod
 (Davide Vanzo, Vanderbilt University) [remote] • [4.00pm] Lmod/XALT update (Robert McLay, TACC) [remote] • [4.45pm] Python at Compute Canada (Bart Oldeman, ComputeCanada) [remote] • [5.15pm] Hands-on session • [6.30pm] Group dinner (sponsored by HPC-UGent) !8
  • 9. EUM19 agenda (Friday, Feb 1st 2019) • [9.00am] Modules: automatic and consistent handling of module file 
 dependencies (Xavier Delaruelle, CEA) • [9.30am] Ansible module for EasyBuild (Olivier Mattelaer, UCLouvain/CISM) • [10.00am] Finding a home for EasyBuild in EuroHPC (Alan O'Cais, JSC) • [10.30am] (coffee break +) hands-on session (+ lunch break) • [1.00pm] Spack: a Package Manager For Scientific Software
 (Massimiliano Culpo, EPFL) • [1.45pm] (coffee break +) hands-on session (+ brewery visits) !9
  • 10. Live streaming & recording of all EUM19 talks • Live streaming of all talks via the (brand new) EasyBuild YouTube channel
 https://www.youtube.com/channel/UCqPyXwACj3sjtOho7m4haVA (or https://tiny.cc/easybuild_youtube) • Talk recordings should be available there shortly after each talk • Talks from all 4 previous EasyBuild User Meetings are also listed there,
 together with other talks on EasyBuild and related tools (see playlists)
  • 11. 2nd EasyBuild User Survey !11 • anonymous survey via • intention was to get better insight in EasyBuild community & usage • survey invitations sent via EasyBuild mailing list, Slack/IRC + Twitter • 36 questions, 11 min. to fill out (on average) • 93 responses (up from 77 last year) • assumed to give a fairly relevant view (but results interpreted with a grain of salt) • (results are discussed out of order compared to order of questions in survey)
  • 12. • EasyBuild community has been growing rapidly the last couple of years • hundreds of HPC sites and companies worldwide,
 incl. JSC, CSCS, SURFsara, Pfizer, ... • very welcoming & supportive to newcomers The EasyBuild community !12 group picture
 3rd EasyBuild User Meeting
 @ SurfSARA (Jan 2018)
  • 13. 2nd EasyBuild User Survey !13 What is your primary profile? What type of organisation do you work for? (very similar results compared to previous survey for both) Clear bias towards sysadmins & user support.
  • 14. 2nd EasyBuild User Survey !14 In which part of the world are you located? How long have you been using EasyBuild? Small shift to more Europe (64% ☞ 73%),
 less North America (27% ☞ 20%)
 Spack effect? Small shift to "long-term" (> 1 year) users,
 "new" users (< 1 year) from 26% to 19%
  • 15. • not YABT (Yet Another Build Tool)
 it does not replace build tools like cmake or make; it wraps around them • not a replacement for your favourite package manager (yum, apt-get, ...)
 it leverages some tools & libraries provided by the OS (glibc, OpenSSL, libibverbs, ...) • not a magic solution to all your (software compilation/installation) problems...
 you may still run into compiler errors (if nobody else has already taken care of it) !15 is ...
  • 16. • a uniform interface that wraps around software installation procedures • a huge time-saver, by automating tedious/boring/repetitive tasks • a way to provide a consistent software stack to your users • an expert system for software installation on HPC systems • a platform for collaboration with HPC sites worldwide • a way to let users to manage their own software stack on HPC systems !16 is ...
  • 17. 2nd EasyBuild User Survey !17 What is the main aspect of EasyBuild that convinced you to start using it? Framework functionality (67% ☞ 69%) and
 supported software (18% ☞ 11%) remain biggest factors.
  • 18. 2nd EasyBuild User Survey !18 How did you first learn about EasyBuild? Majority is still by word-of-mouth (79% ☞ 67%), significant increase of "already in use" (4% ☞ 19%)
  • 19. !19 • in-house development at HPC-UGent since summer 2009 • first public release in April 2012 (EasyBuild v0.5) • first stable release on November 13th 2012, during SC'12 (EasyBuild v1.0) • intention was to get feedback, but gradually a community emerged around it... • frequent stable releases since then (latest: EasyBuild v3.8.1, Jan 29th 2019) • community-driven development: bug reports, feature requests, contributions 6 years of (stable)
  • 20. 2nd EasyBuild User Survey !20 Which EasyBuild version do you use? If you're not using the latest release, why not? 95% relies on EasyBuild releases,
 majority is up-to-date with most recent version.
 (very similar to previous survey) (very similar to previous survey)
  • 21. 2nd EasyBuild User Survey !21 How do you like the frequency of EasyBuild releases? significant increase in 'OK' compared to previous survey: 65% ☞ 81%
  • 22. CentOS 6.xCentOS 7.xRHEL6.xRHEL7.x ScientificLinux Ubuntu 16.04 Ubuntu 18.xDebian 8Debian 9 Debian testing SLES Cray m acOS other 0% 10% 20% 30% 40% 50% 60% 70% 80% %ofpeopleusingthisOS 2nd EasyBuild User Survey !22 On which operating system(s) do you use EasyBuild (most commonly)? • Red Hat based distros are most prevalent (green) • 20% still using CentOS 6.x, 10% RHEL6 (Python 2.6) • minority use Debian-based OS (blue), SLES, or Cray (multiple answers possible)
  • 23. 2nd EasyBuild User Survey !23 Which Python version do you usually use to run EasyBuild? • vast majority uses Python 2.7 (83% ☞ 84%) • significant decline for Python 2.6 (16% ☞ 6%) • I want to talk to the people who are already
 using EasyBuild on top of Python 3...
 (more people use Python 3.x than Python 2.6?!)
  • 24. 2nd EasyBuild User Survey !24 How troublesome would it be for you if EasyBuild becomes incompatible with Python 2.6? • no longer supporting Python 2.6 would probably not have a high impact • nobody answered "disastrous" • declining number of people care about Python 2.6 (13% ☞ 4%) • some people stuck on CentOS 6 or RHEL 6 have installed Python 2.7
  • 25. 2nd EasyBuild User Survey !25 How important is it to you that EasyBuild becomes compatible with Python 3? • results are quite similar to previous survey • slightly more people worry about
 Python 3 compatibility (27% ☞ 32%) • more people consider it critical (4% ☞ 11%) • Python 2 is end-of-line Jan 1st 2020...
 (https://www.python.org/dev/peps/pep-0373) • ... yet RHEL8 will still include python2 (?!)
  • 26. EasyBuild 4.0 !26 Goals: 1) compatibility with Python 3 (+ Python 2.7, maybe still Python 2.6) 2) no (required) dependencies • no vsc-install, vsc-base, setuptools required 3) single-tarball releases on PyPI • rather than 3+1 releases now (framework, easyblocks, easyconfigs + 'easybuild' meta-package) • different GitHub repositories will stay (different rate of development) 4) Deprecating the dummy toolchain, adding system toolchain as replacement 5) custom easyblock for Open MPI 6) switch to using 'pip' as default installer for Python packages (?) see also https://github.com/easybuilders/easybuild/issues/447 (preliminary) ETA: summer 2019 3 2
  • 27. Python 3 support is work-in-progress !27 • porting effort to allow running EasyBuild with Python 3 already under way • intention is to work on Python 3 support in parallel with EasyBuild 3.x • see separate 4.x branch in easybuild-framework repository • 4.x branch is kept in sync with current develop • current status: • relevant code from vsc-install + vsc-base ingested into easybuild-framework • all Python 3 syntax errors fixed: all Python modules in framework can be imported • EasyBuild configuration works • tests pass for easybuild.tools.filetools module 3 2
  • 28. Python 3 support is work-in-progress !28 Planning: • first all framework tests should pass on top of Python 3 (WIP, about halfway there?) • step by step, small PRs that are easy to review • after framework, easyblocks can be ported (minor effort, mostly imports?) • nothing much to do for easyconfigs? • testing, testing, testing... • EasyBuild 4.0.0 release with (experimental?) support for Python 3 3 2 Actively helping out with this effort is very much appreciated! see label: https://github.com/easybuilders/easybuild-framework/labels/python3
  • 29. • intel and foss1 toolchains are most commonly used in EasyBuild community • helps to focus efforts of HPC sites using one or both of these toolchains • updated twice a year, clear versioning scheme: <year>{a,b} (2017b, 2018a, ...) • latest version: • foss/2019a
 binutils 2.31.1, GCC 8.2, OpenMPI 3.1.3, OpenBLAS 0.3.5 (incl. (Sca)LAPACK), FFTW 3.3.8 • intel/2019b
 binutils 2.31.1 + GCC 8.2 as base
 Intel compilers 2019.1.144, Intel MPI 2018.4.274, Intel MKL 2019.1.144 Community (common) toolchains http://easybuild.readthedocs.io/en/latest/Common-toolchains.html (1) FOSS: Free and Open Source Software !29
  • 30. 2nd EasyBuild User Survey !30 Which (full) toolchain(s) do you use? (check all that apply) foss/2018b foss/2018a foss/2017{a,b} foss(common) foss(other) fosscuda intel/2018b ntel/2018a intel/2017{a,b} intel(common) intel(other) intelcuda iomkl gimkl gmvolf goolf(c) ictce Cray PGI other 0% 10% 20% 30% 40% 50% 60%%ofpeopleusingthistoolchain • (recent) foss & intel toolchains most used • Significant shift to most recent versions
 compared to previous survey • declining use of old common versions • other most common: fosscuda, iomkl
  • 31. 2nd EasyBuild User Survey !31 How frequently should the 'foss' and 'intel' common toolchains be updated? • preference for current update frequency
 (twice per year) has increased
 (47% ☞ 57%) • slight decrease for "once a year"
 (37% ☞ 28%) • no changes planned
  • 32. 2nd EasyBuild User Survey !32 How many software installations did you
 perform in the last year using EasyBuild? Is EasyBuild your only way of
 installing (scientific) software? (all fairly similar to previous survey) Do you still install (scientific) software manually?
  • 33. 2nd EasyBuild User Survey !33 Which easyconfig files do you use?
 (check all that apply) Do you use any custom easyblocks? 85% uses easyconfigs included with EasyBuild
 67% uses own easyconfigs
 45% maintains own repo
 (very similar to previous survey) (very similar to previous survey) own incl. in EasyBuild own repo other repos whatever I can get my hands on 0% 10% 20% 30% 40% 50% 60% 70% 80%
  • 34. 2nd EasyBuild User Survey !34 Have you made any site-specific customisations to EasyBuild? • fairly similar to previous survey • ~45% indicated having customised code • reasons? • contributed back?
  • 35. EasyBuild mailing list (subscribers) (2013)
 +25 (2014)
 +30 (2015)
 +55 (2016)
 +50 (2017)
 +60 Over 250 people subscribed to EasyBuild mailing list, still growing... !35 (2018)
 +55
  • 36. 0 200 400 600 800 1,000 1,200 2012 2013 2014 2015 2016 2017 2018 #messages/year EasyBuild mailing list (traffic) effect Traffic on EasyBuild mailing list peaked in 2017,
 most likely due to EasyBuild Slack channel. !36
  • 37. (+ IRC) channel !37 • #general on easybuild.slack.com is linked with #easybuild on IRC (freenode) • ~130 members on Slack channel (+ about 15 (also) on IRC) • steady growth in activity: 30-40 weekly active users • self-invite via https://easybuild-slack.herokuapp.com !
  • 38. 2nd EasyBuild User Survey !38 Are you subscribed to the EasyBuild mailing list? Do you use the EasyBuild IRC/Slack channel? A significant part of the EasyBuild community remains silent. IRC/Slack is not the right place to make "big" decisions,
 since less than 25% actually pays attention to it. (very similar to previous survey)
  • 39. documentation stats EasyBuild documentation at https://easybuild.readthedocs.io
 400-500 weekly visitors (source: Google Analytics) !39
  • 40. cities from where https://easybuild.readthedocs.io was visited
 at least 10 times during the last year (source: Google Analytics) !40 The sun never sets on ...
  • 41. 2nd EasyBuild User Survey !41 How complete is the
 EasyBuild documentation? How often do you consult the EasyBuild documentation? > 75% consults documentation
 monthly or more frequent How useful is the EasyBuild documentation to you? fairly to very complete
 according to ~75%
 (small decline compared to
 previous survey, was 81%) 97% finds it at least
 somewhat useful
 (nobody answered
 "totally useless")
  • 42. 2nd EasyBuild User Survey !42 What is your favourite EasyBuild feature? quite different compared to previous survey
 (but list of suggested answers is also different)
  • 43. 2nd EasyBuild User Survey !43 Which parts of EasyBuild do you not like? (check all that apply) fixed dep versions NONE lack ofm anpow er otherdiff.repos EB docs lack ofcom m .support notfixing know n bugstoolchains lack ofstability CLI w ebsite 0% 5% 10% 15% 20% 25% 30% 35% 40% • "other" category (~20%) is very diverse: • lacking documentation • no uninstall support • lack of support for Python 3 • ...
  • 44. 2nd EasyBuild User Survey !44 Do you use any other tools/projects in combination with EasyBuild? Lm od 6.xLm od 7.x Tm od 3.2.10Tm od 4.x Tm od (older)GC3Pie SlurmSingularity FPM Spack conda NixDocker XALTOpenHPC other 0% 10% 20% 30% 40% 50% 60% • Singularity has become more popular (27% ☞ 37%) • 16% also uses conda... • vast majority uses Lmod as modules tool • similar to previous survey (when adding Lmod 6.x + 7.x) • ~30% uses Slurm in combination with EasyBuild (eb --job)?
  • 45. 2nd EasyBuild User Survey !45 If a commercial support option would be available,
 would you consider purchasing it? (very similar to previous survey)
  • 46. Using a custom module naming scheme • a couple of different module naming schemes are included in EasyBuild • see --avail-module-naming-schemes • specify active module naming scheme via --module-naming-scheme • default: EasyBuildMNS (<name>/<version>-<toolchain>-<versionsuffix>) • you can implement your own module naming scheme relatively easily • specify how to compose module name using provided metadata • via Python module that defines custom derivative class of ModuleNamingScheme • make EasyBuild aware of it via --include-module-naming-schemes • decouple naming of install dirs vs modules via --fixed-installdir-naming-scheme !46
  • 47. 2nd EasyBuild User Survey !47 Which module naming scheme do you use? (very similar to previous survey)
  • 48. Flat module naming scheme • all modules are always available for loading • long(er) module names • 'module avail' may be overwhelming for users • too easy to load incompatible modules together OpenMPI/1.10.2-GCC-5.3.0 GCC/5.3.0 GCC/6.1.0 FFTW/3.3.4-gompi-2016.04 (not available) (loaded) (available) legend OpenMPI/2.1.0-GCC-5.3.0 OpenMPI/1.10.3-GCC-6.1.0 OpenMPI/2.1.0-GCC-6.1.0 FFTW/3.3.6-gompi-2016.04 FFTW/3.3.6-gompi-2016.07FFTW/3.3.4-gompi-2016.07 !48
  • 49. Hierarchical module naming scheme (1) • modules are organised in a tree-like fashion • initially, only 'core' modules are available for loading • typically 3 hierarchy levels: core, compiler-dependent, MPI-dependent • other modules are only visible via 'module spider' OpenMPI/2.1.0OpenMPI/2.1.0OpenMPI/1.10.6 GCC/5.3.0 GCC/6.1.0 OpenMPI/1.10.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 Core level Compiler level
 (compiler-dependent) MPI level
 (MPI-dependent) (not available) (loaded) (available) legend !49
  • 50. • Core modules may extend $MODULEPATH with an additional location • loading a Core module may make more modules available • in this example, loading a GCC module makes OpenMPI modules available OpenMPI/2.1.0OpenMPI/2.1.0OpenMPI/1.10.6 GCC/5.3.0 GCC/6.1.0 OpenMPI/1.10.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 Core level Compiler level
 (compiler-dependent) MPI level
 (MPI-dependent) Hierarchical module naming scheme (2) (not available) (loaded) (available) legend !50
  • 51. OpenMPI/2.1.0OpenMPI/2.1.0OpenMPI/1.10.6 GCC/5.3.0 GCC/6.1.0 OpenMPI/1.10.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 FFTW/3.3.4 FFTW/3.3.5 FFTW/3.3.6 Core level Compiler level
 (compiler-dependent) MPI level
 (MPI-dependent) • even more modules may be made available by loading other modules • for example, loading an OpenMPI modules reveals MPI-dependent modules • EasyBuild can organise modules in hierarchy for you! Hierarchical module naming scheme (3) (not available) (loaded) (available) legend !51
  • 52. 2nd EasyBuild User Survey !52 How long are modules installed with EasyBuild available to users? increase for "limited time, then indirectly available": 14% ☞ 21%
  • 54. 2nd EasyBuild User Survey !54 Do you actively contribute to EasyBuild? (check all that apply) issuesm ailinglist IRC/Slack PRs(easyconfigs) PRs(easyblocks) PRs(fram ew ork) PRs(docum entation) review /testPRs no 0% 10% 20% 30% 40% 50% • Overall minor decline: • mailing list (35% ☞ 23%) • IRC/Slack (18% ☞ 13%) • easyconfig PRs (49% ☞ 38%) • easyblock PRs (26% ☞ 18%) • framework PRs (18% ☞ 13%) • review/testing of PRs (18% ☞ 11%) • Increase for issues (47% ☞ 53%) • Similar for documentation + no contr.
  • 55. !55 • less PRs than back in 2016 (mostly due to lack of time by boegel) • ~20% of PRs by maintainers other than boegel + additional 20% by others Overview of contributions (framework) 0 50 100 150 200 250 300 350 2012 2013 2014 2015 2016 2017 2018 boegel HPC-UGent maintainers other
  • 56. !56 • 25% of PRs by maintainers other than boegel + additional 25% by others • mostly maintenance of existing easyblocks Overview of contributions (easyblocks) 0 50 100 150 200 250 300 2012 2013 2014 2015 2016 2017 2018 boegel HPC-UGent maintainers other
  • 57. 0 200 400 600 800 1000 1200 1400 1600 1800 2012 2013 2014 2015 2016 2017 2018 #openedpullrequests boegel HPC-UGent maintainers other !57 • explosive growth in easyconfig PRs since 2016 (partially thanks to --new-pr) • stabilised in last couple of years; ~1,600 PRs in 2018 • growing ratio of PRs from contributors that are not maintainers (~45% in 2018) Overview of contributions (easyconfigs)
  • 58. !58 • over 80 unique contributors to EasyBuild framework so far • recently reached 100 total unique contributors for easyblocks, 200 for easyconfigs! • steadily growing number of unique contributors to easyconfigs 0 50 100 150 200 2012 2013 2014 2015 2016 2017 2018 2019 total#uniquecontributors framework easyblocks easyconfigs Overview of unique contributors (total)
  • 59. !59 • ~25 unique contributors per year to EasyBuild framework • 30-35 unique contributors per year to easyblocks, fairly stable in recent years) • steadily growing number of unique contributors per year for easyconfigs (100 in 2019?) Overview of unique contributors (per year) 0 10 20 30 40 50 60 70 80 90 100 2012 2013 2014 2015 2016 2017 2018 #uiquecontributors framework easyblocks easyconfigs
  • 61. EasyBuild maintainers !61 • Damian Alvarez - @damianam
 (Jülich Supercomputing Centre) • Miguel Dias Costa - @migueldiascosta
 (National University of Singapore) • Pablo Escobar - @pescobar 
 (sciCORE, University of Basel) • Kenneth Hoste - @boegel
 (HPC-UGent) • Adam Huffman - @verdurin
 (Big Data Institute, University of Oxford) • Alan O’Cais - @ocaisa
 (Jülich Supercomputing Centre) • Bart Oldeman - @bartoldeman
 (ComputeCanada) • Ward Poelmans - @wpoely86
 (Free University of Brussels) • Åke Sandgren - @akesandgren
 (Umeå University, Sweden) • Davide Vanzo - @vanzod
 (Vanderbilt University) https://easybuild.readthedocs.io/en/latest/Maintainers.html Since summer 2017, there are 10 EasyBuild maintainers.
 Since May 2018, there is a rotating "maintainer-of-the-week" (MotW) role.
  • 62. 2nd EasyBuild User Survey !62 How would you rate the overall quality of EasyBuild? 100% positive! (nobody answered "could be better" or "pretty bad") (very similar to previous survey)
  • 63. 2nd EasyBuild User Survey !63 Do you have any suggestions for additional features? (1/2) • support for uninstalling packages (with check on dependencies) • better support for filtering/hiding dependencies • "containers, containers, containers" • support for skipping sanity check (supported since EasyBuild 3.7.0 via skipsteps) • "steep learning curve" • missing documentation on best practices / common workflows
  • 64. 2nd EasyBuild User Survey !64 • list of dependency versions per toolchain (esp. for common toolchains) • loosen up the restriction on dependency versions • semi-auto creation of easyconfigs based on existing ones (WIP: eb --new) • installing multiple packages in a single-directory more easily • better error reporting / readability of build logs • support for using multiple module naming schemes at once Do you have any suggestions for additional features? (2/2)
  • 65. Future work: changes w.r.t. Python (packages) !65 We're actively looking into some changes w.r.t. handling of: • installation of Python interpreter + standard library (with batteries incl.) • now done using "full" toolchain (foss/intel/...) • looking into installing Python with subtoolchain (GCCcore)
 + separate bundle with Python packages that require MPI/BLAS/LAPACK • installation of Python packages for different Python versions • now done with separate easyconfigs/installation directories/modules • considering switch to ComputeCanada approach (see Bart's remote talk on Thu) • single easyconfig/installdir/module combined some Python sys.path magic
 to automatically pick up the right installation based on active Python version
  • 66. Future work: testing contributions in isolation !66 Testing contributions in isolation: • mainly relevant for easyconfig PRs • avoid that OS packages on test system affect test result • test contributions both in: • minimal environment • fully loaded system (Boost, zlib, etc. installed in OS) • different (versions of) Linux distros • via (standardised?) Singularity images
  • 67. Party edition? Sometime late 2019 or early 2020...
 Let me know if you're interested in hosting it! 5th EasyBuild User Meeting !67
  • 69. State of the Union 4th EasyBuild User Meeting January 30th 2019 - Louvain-la-Neuve (Belgium) https://users.ugent.be/~kehoste/EasyBuild_20190130_state-of-the-union.pdf kenneth.hoste@ugent.be https://easybuilders.github.io/easybuild
 easybuild@lists.ugent.be https://easybuild.readthedocs.io https://www.ugent.be/hpc https://www.vscentrum.be