OpenCL Visual Analytics Platform G R A P H I S T R Y Lee Butterman - - PowerPoint PPT Presentation

opencl visual analytics platform
SMART_READER_LITE
LIVE PREVIEW

OpenCL Visual Analytics Platform G R A P H I S T R Y Lee Butterman - - PowerPoint PPT Presentation

Tooling to Containerize an OpenCL Visual Analytics Platform G R A P H I S T R Y Lee Butterman lsb@graphistry.com Graphistry, Inc. Graphistry is using GPUs to power the future of visual analytics 100 data in the first client cloud GPU


slide-1
SLIDE 1

G R A P H I S T R Y

Tooling to Containerize an OpenCL Visual Analytics Platform

Lee Butterman lsb@graphistry.com Graphistry, Inc.

slide-2
SLIDE 2

Graphistry is using GPUs to power the future of visual analytics

100⨉ data in the first client ⟷ cloud GPU visual analytics platform: see all known proteins

https://labs.graphistry.com/graph/graph.html?dataset=Biogrid&workbook=3fc6c877dc94b107

slide-3
SLIDE 3

Every known protein in the NIH BioGrid database at a glance

slide-4
SLIDE 4

Real-time zoom in to see detail

slide-5
SLIDE 5

Inspection over all columns of data

slide-6
SLIDE 6

Scrub a histogram to see different clusters

slide-7
SLIDE 7

How to build & deploy a web app 
 with a GPU-accelerated HTTP loop?

Goal: Change OpenCL kernels, 1-click deploy to environments in minutes! 


slide-8
SLIDE 8

Plan

Reproducible builds: artifact-based deploys Host management: GPU drivers et cetera on the box Validation: minimize GPU surprises Fallback: multicore via CPU

slide-9
SLIDE 9

Problem: Reproducible Builds

Deploy artifact to staging, production, a customer’s air gapped network Easily re-deploy old build Docker is popular and has a huge container ecosystem

slide-10
SLIDE 10

Problem: Make Docker Talk to GPU

nvidia-docker: wraps the Docker CLI Need drivers on disk Customers on Ubuntu, RHEL, and more Install Docker, nvidia-docker, drivers on RHEL/Ubuntu ⇒ our Ansible script!

https://github.com/graphistry/infrastructure/tree/master/nvidia-docker-host

nvidia-docker 2.0: native orchestration docker-swarm/kubernetes/mesos 


slide-11
SLIDE 11

Add NodeJS to GPU-Accelerated Containers

We need company-wide base containers of app runtime + OpenCL drivers Pull from dockerhub:

graphistry/{cpu,gpu}-base, graphistry/js-and-{cpu,gpu}

slide-12
SLIDE 12

Auto-Test GPU Environment Assumptions!

  • Insufficient: nvidia-smi alone
  • Better: clinfo, testing node-opencl, wide coverage
  • Use our library cl.js to do a simple image convolution
  • Pull & test from dockerhub: graphistry/cljs

Edge Detection Demo 7 ms to compute.

slide-13
SLIDE 13

CPU Mode for the full app is a great idea

nvidia-docker only supports Linux Many developers are not using Linux natively Sufficient performance, much less cost Pull from docker hub: graphistry/js-and-cpu 


slide-14
SLIDE 14

Recap

  • Build apps and tests on top of GPU and CPU OpenCL containers
  • Package an artifact for a deploy
  • Setup nvidia-docker host to run the artifact

➔ Automatically & reliably go from 0 to new machine 
 running new code in half an hour! https://github.com/graphistry/infrastructure

slide-15
SLIDE 15

Thank You!

info@graphistry & build@graphistry.com

G R A P H I S T R Y

Lee Butterman lsb@graphistry.com Graphistry, Inc.