using docker for gpu-accelerated applications by felix abecassis and jonathan calmeis
TRANSCRIPT
![Page 1: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/1.jpg)
Using Docker for GPU
accelerated applications
Felix Abecassis Systems Software Engineer, NVIDIA
Systems Software Engineer, NVIDIA
Jonathan Calmels
![Page 2: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/2.jpg)
GPU Computing
CUDA
Ecosystem
Applications
Agenda
NVIDIA Docker
Challenges
Our solution
Demos
GPU isolation
Machine Learning
Remote deployment
![Page 3: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/3.jpg)
GPU Computing nvidia.com/object/gpu-accelerated-computing.html
![Page 4: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/4.jpg)
Heterogeneous Computing CPU
Optimized for Serial Tasks
GPU Optimized for
Parallel Tasks
![Page 5: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/5.jpg)
CUDA C++ Programming
// Vector sum in C void vector_add(int n, const float* a, const float* b, float* c) { for (int idx = 0; idx < n; ++idx) c[idx] = a[idx] + b[idx]; } // Vector sum in CUDA __global__ void vector_add(int n, const float* a, const float* b, float* c) { int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx < n) c[idx] = a[idx] + b[idx]; }
![Page 6: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/6.jpg)
Ecosystem
Libraries
Programming
Languages
Compiler
Directives
AmgX cuBLAS
/
x86
![Page 7: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/7.jpg)
NVIDIA SDKs
![Page 8: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/8.jpg)
Applications: Deep Learning
INTERNET & CLOUD
Image Classification Speech Recognition
Language Translation Language Processing
Sentiment Analysis Recommendation
MEDIA & ENTERTAINMENT
Video Captioning
Video Search Real Time Translation
AUTONOMOUS MACHINES
Pedestrian Detection
Lane Tracking Recognize Traffic Sign
SECURITY & DEFENSE
Face Detection
Video Surveillance Satellite Imagery
MEDICINE & BIOLOGY
Cancer Cell Detection
Diabetic Grading Drug Discovery
![Page 9: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/9.jpg)
GPU-Accelerated Deep Learning
WATSON THEANO MATCONVNET
TENSORFLOW CNTK TORCH CAFFE
CHAINER
![Page 10: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/10.jpg)
NVIDIA Docker github.com/NVIDIA/nvidia-docker
![Page 11: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/11.jpg)
Challenges: a typical cluster
![Page 12: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/12.jpg)
Packaging driver files?
FROM ubuntu:14.04
RUN apt-get update && \
apt-get install --no-install-recommends -y gcc make libc-dev wget
RUN wget http://us.download.nvidia.com/XFree86/Linux-x86_64/361.42/NVIDIA-Linux-x86_64-361.42.run
RUN sh NVIDIA-Linux-x86_64-361.42.run --silent --no-kernel-module
Never install the driver in the Dockerfile, not portable!
![Page 13: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/13.jpg)
Bringing GPU support to Docker
![Page 14: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/14.jpg)
Internals
![Page 15: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/15.jpg)
DockerHub images
![Page 16: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/16.jpg)
GPU Applications Workflow
Container Based Applications
GPU-Accelerated data center
Research/Develop Deploy Test/Package
Video Transcoding
Image Processing
Deep Learning
HPC
Visualization
![Page 17: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/17.jpg)
Demos Interactive, ask questions!
![Page 18: Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis](https://reader033.vdocuments.site/reader033/viewer/2022052915/5871ae581a28abda6a8b618f/html5/thumbnails/18.jpg)
Thank you!