Container¶
Containers are a form of OS-level virtualization that allow users to package applications along with their dependencies into a single object. This encapsulation makes it easier to move the application between different computing environments, from a local workstation to an HPC cluster.
Using containers in HPC offer several advantages:
- Containers is a portable environment which helps mitigate the “it works on my machine” problem by ensuring consistency across different computing environments.
- Users to define their own software environments without being restricted by the host system’s configuration, thus providing flexibility and control over the software and versions used.
- Containers can help ensure scientific reproducibility by allowing researchers to share their computing environments in a way that can be easily replicated by others.
- Containers isolate applications from each other and from the host system, which enhances security and reduces conflicts between different applications’ dependencies.
Using container is a trend on HPC computation environment. There are some examples provided to use container at here.
NGC¶
NVIDIA NGC is the portal of eterprise services, software, management tools, and support for end-to-end AI and digital twin workflows. The NGC Catalog hosts a lot of ready-to-use and tested container images for GPU-powered systems. Please visit NGC Catalog to have a look of what images are available. You may download it for your research work. Some images are pre-downloaded from NGC Catalog. The usage of pre-downloaded images can be found at here.