Closed gvwilson closed 8 years ago
The specific tool that started the discussion was EasyBuild, which was created more so for installing software in High Performance Computing environments. It essentially operates as a package manager behind a 'module' environment (so you can have multiple software versions side by side). It does its job really well (first in cluster environments and now Cray systems too) and the community is growing, which means more and more software is being provided. One great thing it does for training is that it gives a sanitized, reproducible environment. This is exciting for HPC training, because in general the software environment varies dramatically between sites and practical examples require lots of tinkering.
I'm leaning towards brew + linuxbrew with homebrew-science formulas. It will cover desktop (OSX/Linux) & HPC. In the next week or so I'll have 4 microbial genomics pipeline's brew installable.
If you have any specific questions on EasyBuild, let me know (I'm the EB release manager).
A freshly updated slide deck on EasyBuild is available at http://users.ugent.be/~kehoste/EasyBuild-intro-Espoo_20150506.pdf.
A list of software packages we support in the latest release (v2.1.0) is available at https://github.com/hpcugent/easybuild/wiki/List-of-supported-software-packages
On the email thread @eddelbuettel also mentioned that one could teach students about Docker containers for working in a portable, reproducible, sanitized environment. Dirk highlighted that a principle advantage is that Docker and the container concept have huge uptake / mindshare in this context, avoiding the problem of fracturing standards.
As this discussion has emphasized HPC platforms, I'll note that every HPC administrator I've spoken to in the last few months has said that they are talking about Docker and how they can support containers. For instance, NERSC has a prototype container engine that would be able to run Docker containers on their newest CRAY supercomputer.
An additional advantage of the container approach is that it teaches students a tool that they can use equally well locally on most laptops and with all of the major cloud providers.
@mscook is there something in Linux brew that can't be done by manually adding ppa's? If it's a wrapper around yum
and apt-get
I think teaching the Linux tools would be more beneficial and portable than using Linux brew.
I'm also +1 to teaching docker. I'm trying to get the VirtualBox VMs in my lab over to docker.
What should we teach about installing software, and what tools should we use when teaching? Discussion started with this mailing list thread - please add your thoughts below.