A collection of module-centric Julia deployments on HPC systems.
Resuirements:
- Lua and luaposix
- Lmod or Environment Modules
This project uses Simple
Templates to render
templates. A standalone version of Simple Templates is located at:
./opt/bin/simple-templates.ex
and only requires a reasonably modern version
of Lua to run (I didn't check how modern it needs to be though).
Simple Templates takes template files formatted in the mustache templating language and populates them with values from a settings (TOML version 0.4) file. This allows us to adapt Julia settings and modules whenever systems are reconfigured and upgraded.
With the exception of Lua and LMod, the objective of this approach is to be as self-contained as possible. More powerful templating engines need other dependencies to be installed (e.g. a modern version of Python + a virtualenv), which are often not present on bare-bones systems. The reason for going with Lua is to not need a lengthy install procedure. Furthermore, more powerful templating languages are just not needed to generate what are basically just a bunch of settings and module files.
This project uses Simple
Modules to download and
install software, and to render the corresponding module files. A standalone
version of Simple Modules is located at: ./opt/bin/simple-modules.ex
and
requires a reasonably modern version of luaposix (which is used by Lmod also).
Simple Modules is a small utility that lets you easily download, build, and deploy software modules.