48
Past, present & future 3rd EasyBuild User Meeting Jan 30th - Feb 1st 2018 SURFsara - Amsterdam (.nl) https://github.com/easybuilders/easybuild/wiki/3rd-EasyBuild-User-Meeting

Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Embed Size (px)

Citation preview

Page 1: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Past, present & future

3rd EasyBuild User Meeting

Jan 30th - Feb 1st 2018 SURFsara - Amsterdam (.nl)

https://github.com/easybuilders/easybuild/wiki/3rd-EasyBuild-User-Meeting

Page 2: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

45 attendees, 10+ countries

2

company;5

Germany;5

SurfSARA.nl;4

Belgium(Wallonia);4

France;4Netherlands;4

CSCS.ch; 4

Belgium(VSC);3

Austria;3

Sweden;2

Canada;2

CzechRepublic;2

Switzerland/Spain;1

Portugal;1UK; 1

2016 (Ghent): 19 2017 (Jülich): 35

Page 3: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Agenda (Tuesday)

[9.30am] Welcome & coffee

[10.00am] EasyBuild: past present & future (Kenneth Hoste, HPC-UGent)

[11.30am] Modules v4 (Xavier Delaruelle, CEA.fr)

[12.00] (lunch)

[1.00pm] site presentations

◦ SurfSARA (John Donners)◦ JSC (Damian Alvarez)

◦ University of Muenster (Holger Angenent)

[2.00pm] datacenter tour (group I)

[2.00pm] hands-on session

[3.00pm] (coffee break)

[5.00pm] Recent developments in Spack (Todd Gamblin, LLNL - USA) [remote]

3

Page 4: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

[9.00am] Nix as HPC package management system (V. Reis, B. Bzeznik - INRIA)[9.30am] EasyBuild + Nix + CVMFS @ ComputeCanada (B. Oldeman, ComputeCanada)

[10.00am] Introduction to uDocker (Luís ALves, LIP, Portugal)[10.30am] (coffee break)[11.00am-12.00] hands-on session[12.00] (lunch)[1.00pm] site presentations

◦ CSCS (Teo Ioannis)◦ CEA.fr (Laurent Nguyen)◦ RUG.nl (Fokke Dijkstra)◦ Bright Computing (Panos Lampropoulos)

[2.00pm] datacenter tour (group II)[2.00pm] hands-on session[3.00pm-3.30pm] (coffee break)[4.00pm] Update on Lmod + XALT (Robert McLay, TACC) [remote][5.00pm] Update on Singularity (Gregory Kurtzer, Sylabs Inc.) [remote]

Agenda (Wednesday)

4

Page 5: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

[9.00am] site presentations◦ Experiences with RPATH support in EasyBuild

(Pablo Escobar, sciCORE/UniBas/SIB)◦ ...◦ ...

[10.00am] (coffee break)[10.30am] hands-on session

[12.00] (lunch)[1.00pm] datacenter tour (group III)

[1.00pm] hands-on session[2.00pm] Guix@HPC (Ricardo Wurmus)

[2.30pm] Guix for complex software environments (Pjotr Prins)[3.00pm] (coffee break)

[3.30pm] hands-on session

5

Agenda (Thursday)

Page 6: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

EasyBuild mailing list subscribers

6

Page 7: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

EasyBuild mailing list volume of messages

7

0

200

400

600

800

1000

1200

2012 2013 2014 2015 2016 2017 2018

#messages/year

Page 8: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Cities from where easybuild.readthedocs.iowas accessed at least 10 times in 2017

8

Page 9: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

EasyBuild contributors

9

0

20

40

60

80

100

120

140

160

Jan-12 Jul-12 Jan-13 Jul-13 Jan-14 Jul-14 Jan-15 Jul-15 Jan-16 Jul-16 Jan-17 Jul-17 Jan-18

#un

ique

contrib

utors

framework easyblocks easyconfigs

Page 10: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

EasyBuild User Survey

• 77 respondents

• was open for (only) 2 weeks

• only (officially) announced via EasyBuild mailing list,to try and get relevant responses (actual EasyBuild users)

• aim was to try and get a better view on the community

10

Page 11: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

EasyBuild User Survey

64%

27%

This may not be an accuraterepresentation of the community...

4%5%

11

Page 12: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

• systems architect• HPC engineer• infrastructure developer• research scientist• PhD candidate• mix of sysadmin, developer

and support

EasyBuild User Survey

44%30%

6%10% 9%

12

Page 13: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

other(mostly national

computing centre)

EasyBuild User Survey

33%

24%17%

5%

12%

9%

Clear bias towardsscientific research context

13

Page 14: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

How long have you been using EasyBuild?

40%

6%13%

13%

27%

Nice mix of"old-timers"

and new blood

14

Page 15: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

How did you first learn about EasyBuild?

someone told meabout it

presentation

EasyBuildwebsite

someone showedit to me

on a mailing list

was already used

article/paper

I forget... "I was really drunk at the time"

79%word of mouth

9%

26%

44%10%

4%4%

15

Page 16: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

What aspect of EasyBuild convinced you?

supported software

the communityintegration with other tools

other (doesn't require root privileges, was already used)

67%

18%

5%6%3

%

16

Page 17: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

What Python version do you use to run EasyBuild?

83%

16%

I would really like to meet the person who ported EasyBuild

to Python 3 already!

too early todrop supportfor Python 2.6?

17

Page 18: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

13% stillcares aboutPython 2.6

How troublesome would it be for you if EasyBuild becomes incompatible with Python 2.6?

too early to drop support for Python 2.6 (imho)

18

Page 19: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

How important is it to you that EasyBuildbecomes compatible with Python 3?

23%

34%

34%

4%5%

• intention is certainly to support Python 3 in the (near) future

• being able to dropping supportfor Python 2.6 would help

• vsc-base needs to be ported first...19

Page 20: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Which EasyBuild version do you use?

High-quality releasesare really important!

58%

26%

People not usinglatest release:• 50% haven't found time to

update yet

• 37% say current versionworks fine

• 10% prefer living onthe edge using develop

• for 3% update failed (1 person)

8%8%

20

Page 21: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Common toolchains are used actively

60%

54%

40%

14%

32%

47%

41%

9%

7%

9%

foss/2017b

foss/2017a

foss/2016{a,b}

foss (older common)

foss (other version)

intel/2017b

intel/2017a

intel/2016{a,b}

intel (older common)

intel (other version)

21

Page 22: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Other toolchains are less commonly used

17%

5%

17%

22%

7% intention is to retire/archive all ictce versions for EasyBuild 4.0

goolf/1.4.10 will be retired/archived for EasyBuild 4.0

gompic, goolfc, intelcuda, gmvolf, giolf, PGI,custom toolchains, Cray toolchains, only compiler+MPI

22

Page 23: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Side step: toolchain woes...

• Is the intel toolchain really worth all the trouble?

• compilation issues due to picky/quirky compilers

• runtime issues (see recent problems related to glibc)

• licensing cost

• is there actually a (significant) performance gain over GCC?

• some concern about sustainability of OpenBLAS

• v0.2.21 planned for Aug'17 never actually happened

• no releases since then...

• time to promote gimkl or gomkl to common toolchain?

(GCC + Intel MPI + Intel MKL) (GCC + Open MPI + Intel MKL)23

Page 24: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

How frequently should thecommon toolchains be updated?

47%37%

more frequently

Conclusion: stick to twice a year?(people can ignore common toolchain updates once a year)

24

Page 25: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

# software installations in last year Do you only install software with EasyBuild?

52%

14%

25%

9%

91% (mainly)EasyBuild

47%28%

9%9%

5%

Do you still install software manually?

(only) 75%no or by

exception

64%

11%

18%

7%

49%28%

9%

9% 5%

Reasons for still doing manual installations?

25

Page 26: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Which easyconfig files do you use?

69%

84%

52%

39%

• easyconfigs included with EasyBuild should be up-to-date & high-quality...

• quite a lot of people have their own easyconfigs repository

26

Page 27: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Do you use custom easyblocks?

47%47%

7%

Have you made site-specific customisations?

45%

15%

25%

14%

Better support neededfor making site-specific customisations easier?

Limited use of custom easyblocks, probably mostly limited to licensed software?

27

Page 28: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Are you subscribed to the EasyBuild mailing list?

42%

36%

5%

5%9%

41% passive47% active

Do you use the EasyBuild IRC/Slack channel?

57%

18%

13%

12%

Only a small minority actively engages with the EasyBuild community through a chat platform, so not the right place to make any 'big' decisions.

A significant part of the EasyBuild communityremains mostly silent.

28

Page 29: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

How complete is the EasyBuild documentation?

62%

19%13%

4%

documentation is good enough for (large) majority of people?

(I disagree, some important stuff is (still) not documented yet)29

Page 30: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Do you actively contribute back to EasyBuild?

47%

35%

18%

49%

26%18%

10%18%

31%

open

ing iss

ues

for bug

s or p

roblem

s

discus

sions

on

EasyB

uild m

ailing

list

answ

ering

questi

ons

on IR

C or Slac

k

submitti

ng PRs f

or ea

sycon

figs

submitti

ng PRs f

or ea

sybloc

ks

submitti

ng PRs f

or fra

mework

submitti

ng PRs f

or doc

umen

tation

review

ing /te

sting

PRs no

• almost 50% contributes easyconfig files, opens issues for bugs/problems

• only 10% contributes to documentation...

• 31% does not contribute back at all30

Page 31: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Do you use any other toolsin combination with EasyBuild?

83%

27%

9%

1%

12%

4%

8%

--job

--package

31

Page 32: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Do you use any other toolsin combination with EasyBuild?

27%

20%

0%

1%

1%

32

Page 33: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

What is your favourite EasyBuild feature?

40%

17%

11%

4%

24%

• --try-*• --robot• --module-only

• installation logs• RPATH support• all of the above

other:

33

Page 34: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

• removed when it can't be supported anymore• as long as toolchain is supported• based on N-month review of usage• undecided

66%

13%

14%

6%

other:

How long are modules installedwith EasyBuild available to users?

34

Page 35: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Which module naming scheme do you use?

64%4%

17%

6%5%

4%

35

Page 36: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

How do you like the frequencyof EasyBuild releases?

65%

21%

5%6%3%

OK as it is now(5 feature releases,

5 bugfix releases in 2017)

a bit too frequent

way too frequent

should be a bitmore frequent

should be a lotmore frequent

Conclusion: doing well, a bit less frequent may be OK36

Page 37: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Which parts of EasyBuild do you not like?

1%

10%

39%

17%

2%

10%

command lineinterface

toolchainsconcept

fixed versions fordependencies

lack of manpowerto process

contributions

lack ofcommercial support

EasyBuilddocumentation

37

Page 38: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Which parts of EasyBuild do you not like?

1%

1%

16%

2%

35%

EasyBuildwebsite

lack of stability inEasyBuild releases

different GitHubrepositories

lack of focus onfixing known bugs

none of the above

38

Page 39: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

If a commercial support option would be available, would you consider purchasing it?

2%

6%

17%21%

25%29%

39

Page 40: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

How would you rate theoverall quality of EasyBuild?

36%

52%

12%

100%positive!

Note: not a single respondent picked "could be better" or "pretty bad"40

Page 41: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Any additional comments?

• "Keep up the good work! Amazing software !"

• "I don’t know what I would do without Easybuild :)"

• "EasyBuild is great! Keep doing the amazing work!"

• "thank you for making my job easier :)"

• "free beer for contributors!"

41

Page 42: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

42

Impact of GitHub integration in EasyBuild

0

500

1000

1500

2012 2013 2014 2015 2016 2017 2018

numbero

fpullrequets(pery

ear)

createdviaeb--new-pr

createdmanually

• > 500 PRs opened using eb --new-pr in 2016 (34%)

• almost 1000 PRs in 2017 (63%)

• 80% more PRs in 2016/2017 compared to 2015

https://github.com/easybuilders/easybuild-easyconfigs/pulls

Page 43: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

0

500

1000

1500

2012 2013 2014 2015 2016 2017 2018

numbero

fpullrequets(pery

ear)

merged closed open

43

• eb --merge-pr has helped to keep pace with incoming PRs

• ~85% of PRs gets merged (usually a good reason for the ones that are not)

• would have been difficult without automation due to amount of PRs

https://github.com/easybuilders/easybuild-easyconfigs/pulls

Impact of GitHub integration in EasyBuild

Page 44: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

44

platforms Linux, macOS, Windows Linux, Cray GNU/Linux Linux, macOS,

UnixLinux, macOS,

Cray

implementation Python 2/3, YAML Python 2 Scheme, Guile C++,

Nix (DSL) Python 2/3

supp. software > 3,500 > 2,000 < 6,500 > 13,000 > 2,300

releases,install & update

documentation

configuration

usage

time to result

performance

NixGuix

Comparison of installation tools

44

Page 45: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

0

1

2

3

4

5

6

7

conda Guix Nix Spack EasyBuild

time(seconds)

Performance of FFTW installation• single-core test from http://micro.stanford.edu/wiki/Install_FFTW3

• N0, N1 set to 8192 to obtain sufficiently 'long' run times

• timings are for default installations (no tweaking)

• test system: CentOS 7.4, Intel E5-2680v3 (Haswell-EP) 2.5GHz

generically built binary packages,no AVX* instructions

result: slower software

GCC 6.4.0AVX + AVX2

compiled from source(can be) optimised for system architecture

system GCC (4.8.5)or GCC 6.4.0

only SSE2 (no AVX*)

~2x

45

Page 46: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

• WIP

• support for building TensorFlow from source (both CPU/GPU)

• eb --update-versions

• Singularity integration

• limiting # of diff. software versions per common toolchain

• frequently requested features

• eb --continue

• eb --remove

• more flexible dependency version specs

• support for multiple active module naming schemes

46

Future work

Page 47: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

47

0

1

2

3

4

5

6

binarywheel builtfromsource

images/second

ResNet-50onIntelHaswell(CPUonly)

7x speedup

Page 48: Past, present & future - users.ugent.beusers.ugent.be/~kehoste/eum18/eum18_easybuild_past_present_future... · Windows Linux, Cray GNU/Linux Linux, macOS, ... Performance of FFTW

Singularity integration

• see recent work by Shahzeb Siddiqui (Pfizer)

• https://github.com/easybuilders/easybuild-framework/pull/2332

• working towards support in EasyBuild for:

• generating Singularity definition files

• building Singularity images with EasyBuild

• concept can easily be extended to Docker & co too

• example:eb OpenMPI-2.1.2-GCC-6.4.0-2.28.eb --singularity --singularity-bootstrap shub:... --buildimage ...

48