Advanced Usage

The contents on this section are intended for users who demand more control on the system, the ability to install or execute codes not provided by central installation.

The different topics on this section are mostly independent of each other. The few instances where two topics are connected will be treated as self consistently as possible even with the drawback of some redundancy.

We start with Singularity Containers a virtualization software platform that can package an application and its dependencies in a virtual container that can run on any Linux server. Singularity brings many of the features of Docker for HPC usage. Docker a well known platform virtualization software but due to design it requires to run with superuser privileges that cannot be offered on a shared resourced like an HPC cluster.

Conda Conda, is an open source package management system and environment management system. Originally created for Python programs, it can package and distribute software for any language. We will show how to easily create, save, load and switch between environments. We also include information about installing software from specialized channels.

General Purpose Graphics Processing Units (GPGPUs) is the usage of GPUs for numerical calculation, also called GPU accelerators, GPU-based high performance computers are starting to play a significant role in HPC. On our cluster we have nodes with dedicated GPU cards for computing. In GPU Computing we discuss how to use GPUs in several situations.

Environment Modules system is a tool to help users manage their Unix or Linux shell environment, by allowing groups of related environment-variable settings to be made or removed dynamically. On Environment Modules we show how to create modules and create a private repository for them.

On section Jupyter Notebooks we discuss about Jupyter notebooks. A Jupyter Notebook (formerly IPython Notebook) is a web-based interactive computational environment computational notebooks. A Jupyter Notebook document is a JSON document, following a versioned schema, and containing an ordered list of input/output cells which can contain code, text (using Markdown), mathematics, plots and rich media, usually ending with the “.ipynb” extension. Originally create for the Python language nowadays it supports a number of languages including Python, R, Julia and Haskell.

On section HDF5: Hierarchical Data Format one example of using HDF5 for storing numerical data in binary format.