Visualizing millions of datapoints with GPUs in the client and server
The ability to visualize millions of data points opens up a world of applications. But its hard to quickly render that much data, let alone compute anything with it. Thibaud Hottelier shares the GPU technologya hybrid client/server GPU engine using Node-OpenCL and a new library, CL.jsthat Graphistry used to break the million datapoint barrier for fast, interactive visualizations.
Talk Title | Visualizing millions of datapoints with GPUs in the client and server |
Speakers | Thibaud Hottelier (Graphistry) |
Conference | Fluent |
Conf Tag | The Web Platform in Practice |
Location | San Francisco, California |
Date | March 8-10, 2016 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
The ability to visualize millions of data points opens up a world of applications. But it’s hard to quickly render that much data, let alone compute anything with it. The availability of GPUs in clients and the cloud presents an opportunity to connect them with fast networks. Thibaud Hottelier shows how Graphistry created a hybrid client/server GPU engine using Node-OpenCL and their own library, CL.js. Using code examples and live demos, Thibaud shares the GPU technology Graphistry used (and in places, created) to break the million-datapoint barrier for fast, interactive visualizations and describes Graphistry’s distributed visualization engine. The conceptual breakthrough of Graphistry’s approach is a distributed pipeline for interactive computations. Graphistry’s visualization engine offloads heavy computations to a GPU cloud, streams the resulting scene graph back to the client, and then renders it using the client’s GPU. Thibaud demonstrates examples of scaling web visualizations by 100x compared to today’s CPU libraries like D3. Thibaud dives into the technology for using JavaScript to leverage GPU clusters. After a quick introduction to general purpose (non-WebGL) GPU programming, Thibaud describes the new Node-OpenCL library for low-level GPU access (which was too rigid and cumbersome for productive use at Graphistry). He will then introduce Graphistry’s newly open sourced library, CL.js., which Graphistry has been using for the past year to make GPU programming less like programming C and more like modern JavaScript.