You've been to a CodeRefinery workshop, and wonder how these tools are actually used? The NordicHPC github organization, which we've mentioned before, provides a lot of demonstrations on using github and working collaboratively. It's an example of people who have a common interest and form a community by using common tools.
Yet at the same time, not everything is perfect. Rather than try to make everything perfect, they make things good enough, licensed, and shareable, and improve it as a need comes - possibly, when someone else has a need and time to improve it.
Within the organization, you can find many examples of using git (everything), pull-request based workflows (e.g. sonar, git-pr, slurm2sql), automated testing (e.g. .travis.yml in sonar, envkernel, nbscript, slurm2sql), modular code development (e.g. ), open licensing (e.g. everything).
Below you see some examples of NordicHPC tools. Some tools are useful to anyone, but some may be more interesting to cluster administrators.
- nbscrpt is an attempt to provide the familiar script interface to Jupyter notebooks.
- sonar and sonar-web provide a way to watch what is actually running on clusters.
- git-pr saves you keystrokes when making pull requests, though perhaps cli.github.com takes its place.
- slurm2sql imports the HPC Slurm job history to a sqlite3 database. It can be useful, even individually, to get and analyze data about your jobs.
- envkernel is a Jupyter extension which lets you run your kernels in different environments, such as Docker, Singularity, and virtual/conda environments more easily.
Do you have a nice tool that needs a home? You know what to do...