using docker for gpu-accelerated applications by felix abecassis and jonathan calmeis
TRANSCRIPT
Using Docker for GPU
accelerated applications
Felix Abecassis Systems Software Engineer, NVIDIA
Systems Software Engineer, NVIDIA
Jonathan Calmels
GPU Computing
CUDA
Ecosystem
Applications
Agenda
NVIDIA Docker
Challenges
Our solution
Demos
GPU isolation
Machine Learning
Remote deployment
GPU Computing nvidia.com/object/gpu-accelerated-computing.html
Heterogeneous Computing CPU
Optimized for Serial Tasks
GPU Optimized for
Parallel Tasks
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]; }
Ecosystem
Libraries
Programming
Languages
Compiler
Directives
AmgX cuBLAS
/
x86
NVIDIA SDKs
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
GPU-Accelerated Deep Learning
WATSON THEANO MATCONVNET
TENSORFLOW CNTK TORCH CAFFE
CHAINER
NVIDIA Docker github.com/NVIDIA/nvidia-docker
Challenges: a typical cluster
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!
Bringing GPU support to Docker
Internals
DockerHub images
GPU Applications Workflow
Container Based Applications
GPU-Accelerated data center
Research/Develop Deploy Test/Package
Video Transcoding
Image Processing
Deep Learning
HPC
Visualization
Demos Interactive, ask questions!
Thank you!