Containers and GPUs
Delve into the realm of GPUs and containers for research computing with insights on GPU basics, use cases, OSG scalability, robust job strategies, and container types like Docker and Singularity. Uncover how GPUs with parallel processing power and containers for job environment encapsulation can revolutionize computational workflows.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Containers and GPUs Christina Koch (ckoch5@wisc.edu) Research Computing Facilitator University of Wisconsin - Madison
GPUS 2 OSG User School 2016
What is a GPU? GPU = Graphical Processing Unit Has hundreds to thousands of cores that can be used to parallelize work. 3 OSG User School 2016
GPU Use Cases Programs that map well to GPUs include: Deep learning Molecular dynamics Anything with lots of number crunching (like matrix operations) and low(er) data load. 4 OSG User School 2016
GPUs on the OSG Scale: 10s (vs 100s-1000s of CPUs) Variety of available GPU cards Same restrictions as always: not sure what you ll get, jobs can be interrupted May take longer to start Free! 5 OSG User School 2016
Making robust GPU jobs Use a software strategy that can run on different GPU types: Container Install inside the job OR use job requirements to request certain kind of GPU (more limiting) 6 OSG User School 2016
Submit File options Request GPUs with request_gpus Can use custom requirements request_gpus = 1 requirements = (CUDACapability >= 6.0) 7 OSG User School 2016
CONTAINERS 8 OSG User School 2016
Containers Containers are a tool for capturing an entire job environment (software, libraries, operating system) into an image that can be used again. 9 OSG User School 2016 polaroid photos by Nick Bluth from the Noun Project
Container Types Two common container systems: Docker https://www.docker.com/ Singularity https://sylabs.io/ The container itself will always be some version of Linux - but can be run on Linux / Mac / Windows if Docker or Singularity is installed 10 OSG User School 2016
Focus on Docker Docker has well-established and well- documented ways to build container images. If you have a Docker image: Can run with Docker Can run with Singularity Can convert to a Singularity image 11 OSG User School 2016
Running Containers docker run <container> <command> docker run it <container> /bin/sh $ 12 OSG User School 2016
Docker Hub docker push docker pull docker pull 13 OSG User School 2016
Building Containers docker build . Dockerfile 14 14 OSG User School 2016
Sample Dockerfile # Start with this image as a "base". # It's as if all the commands that created that image were inserted here. FROM continuumio/miniconda:4.7.12 # Use RUN to execute commands inside the image as it is being built up. RUN conda install --yes numpy # Try to always "clean up" after yourself to reduce the final size of your image. RUN apt-get update \ && apt-get --yes install --no-install-recommends graphviz\ && apt-get --yes clean \ && rm -rf /var/lib/apt/lists/* 15 OSG User School 2016