Using Docker for GPU-accelerated Applications by Felix Abecassis and Jonathan Calmeis

Preview:

Citation preview

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!

Recommended