ohpc icon indicating copy to clipboard operation
ohpc copied to clipboard

EasyBuild and Modules support

Open azet opened this issue 9 years ago • 8 comments

Hi,

First off; excellent initiative.

I've quite some experience in setting up HPC related compiler and library toolchains and creating packages for various distros. I've been involved in creating so-called 'blocks' for EasyBuild [0] - an excellent Python framework that automatically installs and maintains scientific software packages and toolchains for HPC environments. We've used it in production on multiple systems (SuSE, RHEL and CentOS based) with great success and a lot of man-hours saved on our end.

EasyBuild also has support for 'modules' which are very common on HPC systems, they support the classical Tcl modules as well as Lmod (by TACC, written in Lua, well maintained and a lot of nice features like searching and hooks). EasyBuild automatically generates module-files based on toolchain and version.

It should be fairly easy to produce CentOS packages directly using optimized EasyBuild toolchains. One idea would be to pipeline this via FPM [2] or use Python libraries to create RPMs. What do you think about that idea? I figure this will also save a lot of work that would be duplicated.

By the way, if you guys are currently at SC15: the EasyBuild people will be at the HUST workshop on friday. /cc @boegel @rtmclay

Thanks, Aaron

[0] - https://hpcugent.github.io/easybuild/ [1] - https://github.com/TACC/Lmod [2] - https://github.com/jordansissel/fpm

azet avatar Nov 16 '15 19:11 azet

+1 on this, I wanted to catch @koomie here at SC15 to discuss this, and I will, either at the Intel booth, or at the BoF session planned this Thursday

boegel avatar Nov 16 '15 20:11 boegel

Excellent point. We've included EasyBuild and lmod already, but definitely hope to improve the integration of EasyBuld with the rest of the project.

Right now we're using a pretty traditional source+specfile -> build farm(obs) to produce RPMs. But I can see the advantages of the process you described. Definitely gives, at least myself, some things to think about.

JohnWestlund avatar Nov 16 '15 23:11 JohnWestlund

@JohnWestlund: I'm the EasyBuild lead dev, and am very familiar with Lmod too, I'll be happy to help out or answer questions

boegel avatar Nov 19 '15 05:11 boegel

Hi all,

I'm wondering if this discussion led to some plan for further integration? It seems, for example, that compilers and libraries are not considered for easybuild toolchains or dependencies, so a typical EasyBuild site will probably have all packages that OpenHPC delivers built and installed a second time? Or is there some standard way of integrating the two that we somehow missed?

Greetings André

scroogie avatar Feb 01 '18 15:02 scroogie

@scroogie EasyBuild has good support for picking up existing installations, in particular if modules are available for them already, see http://easybuild.readthedocs.io/en/latest/Using_external_modules.html .

It would be nice to include that with OpenHPC releases though, since it may be a bit of puzzle work to make it fit well, and maybe EasyBuild should include ohpc- toolchains out of the box to make the integration even easier.

I wish I had time to dive into this myself... But I'm certainly up for helping out anyone who is willing & able to spend time on this.

boegel avatar Feb 01 '18 17:02 boegel

@crbaird picked up on this, see https://github.com/easybuilders/easybuild-framework/pull/2392 ...

boegel avatar Feb 02 '18 23:02 boegel

Hello Kenneth,

thanks a lot for your feedback.

EasyBuild has good support for picking up existing installations, in particular if modules are available for them already,

Okay, while I knew that there was this possibility, I thought the problem would be in the dependency resolution. It would mean quiet a lot of work modifying all of the easyconfigs for these new external modules, right? It would be much easier then to just uninstall the ohpc packages and build everything based on EasyBuild. I'm wondering what the real idea of OHPC is here. Obviously the packages that OHPC ships are just a very foundation, and as OHPC already ships EasyBuild, I thought it was meant to be used.

@crbaird picked up on this, see easybuilders/easybuild-framework#2392 ...

That is great news, thanks a lot, I will surely follow this!

Greetings Andre

scroogie avatar Feb 06 '18 10:02 scroogie