This lesson is being piloted (Beta version)

Software Management at MSI

/tutorial-sw-management/MSI's%20server%20room

This workship is an introduction to robust software management practices in a shared user environment. We will use examples on MSI’s Linux clusters, but the principles described here are portable to other cluster environments.

By the end of this workshop, students will know how to:

Prerequisites

Command line experience is necessary for this lesson. We recommend the participants to go through https://swcarpentry.github.io/shell-novice/ if new to the terminal.

Schedule

Setup Download files required for the lesson
00:00 1. Why Manage My Own Software? When would I want to manage my own software packages on an HPC cluster?
What can I expect to learn from this course?
00:20 2. Separating Packages Using Environment Modules What is a software environment?
How do I use environment modules?
How do I create my own environment modules?
00:55 3. Managing Software Installed via Make What is the standard GNU installation workflow?
How do I customize this workflow to tailor it to my needs?
What are best-practices for managing source code and install documentation?
01:30 4. Installing Modules Using CMake What is the CMake standard build workflow?
How do I modify this workflow to suit my needs?
02:05 5. Working with Anaconda and Pip How does anaconda install software?
How can I use anaconda to create independent modules?
How can I keep my pip-installed packages separate?
02:40 6. Apptainer: Getting started What is apptainer and why might I want to use it?
03:30 7. Apptainer: Practical Considerations What does apptainer download and store when you run an image?
How does a apptainer container interact with my files and data?
Where can I find images to use in my workflows?
04:20 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.