Singularity Training at TAMUQ 2019

From TAMUQ Research Computing User Documentation Wiki
Jump to navigation Jump to search


Why HPC Containers?

Containerization is becoming an important part of high-performance computing environments, offering portability and rapid deployment of applications and workflows previously difficult to accommodate on clusters and supercomputers. Singularity is an increasingly popular implementation of containerization targeted specifically to HPC systems. Importantly, Singularity allows users to effortlessly convert Docker containers into its native format. Singularity containers can also be used in Slurm job files without the need for any Slurm integration, special job directives, or any other fancy acrobatics! In fact, depending on how the container is built and on the application it encapsulates, users could conceivably employ singularity containers (at the command line or inside a Slurm job) thinking they are simply running a native application. Come and learn about this exciting containerization technology already available on raad2!

Training Agenda

Day 01:

  • Introduction to Linux containers
  • Introduction to Singularity
  • Installing Singularity on a personal system
  • Running containers from Docker hub
  • Building & running containers with definition files
  • Interacting with containers from the host system
  • Making containerized applications behave like native ones
  • Analyzing data with containers

Day 02:

  • Running a container as a background instance
  • Containers with Nvidia GPUs
  • Running containers from Nvidia GPU Cloud
  • Example: Jupyter notebook
  • Example: TensorFlow MNIST
  • Example: Package a complex application & port to raad2
  • Example: MPI application
  • Wrap-up and Q&A

Training Dates, timings and Venue

  1. Day 01 - 22nd April - TAMUQ Building - Conf. Room # 310 (2:00PM to 5:00pm)
  2. Day 01 - 23nd April - TAMUQ Building - Conf. Room # 310 (2:00PM to 5:00pm)

Requirements

1. Attendees should bring their personal laptops for the hands-on portion of the training.
2. Download Centos Virtual Machine which has been setup for training here; Download Virtual Machine
3. Setup the virtual machine following instructions here: Setup Virtual Machine.
4. Create an account on dockerhub. This will allow you to download already built containers. Setup account on Docker Hub
5. Create an account on Nvidia GPU Cloud. This will allow you to download containers from Nvidia GPU cloud. Especially useful for making already built containers for applications with GPU Support. Setup account on Nvidia GPU Cloud