Within just the past few years, the use of containers has revolutionized the way in which industries and enterprises have developed and deployed computational software and distributed systems. The containerization model has gained traction within the HPC community as well with the promise of improved reliability, reproducibility, portability and levels of customization that were previously not possible on supercomputers. This adoption has been enabled by a number of HPC container runtimes that have emerged including Singularity, Shifter, Enroot, Charliecloud and others.
This tutorial will provide more advanced information on how to run MPI-based and GPU-enabled HPC applications, how to optimize I/O intensive workflows, and how to setup GUI-enabled interactive sessions. Cutting-edge examples will include machine learning and bioinformatics. Users will leave with a solid foundational understanding of how to utilize containers with HPC resources through Shifter and Singularity, as well as an in-depth knowledge to deploy custom containers.