During my internship on NVIDIA’s RAPIDS data visualization team, I worked on Node RAPIDS. It’s a set of Node.js native addons that bring the RAPIDS GPU-accelerated data science libraries to JavaScript. Until then, RAPIDS was mostly only usable from Python.
What I worked on:
- Bindings for cuDF, from the TypeScript API down through the C++ native layer
- The SQL module, which binds the BlazingSQL GPU SQL engine to Node.js
- Multi-GPU queries, with one worker process per GPU communicating over UCX
- GPUDirect Storage support, loading data from disk straight into GPU memory
Querying Wikipedia
As a demo for the SQL module, we loaded all of English Wikipedia (~16 GB) and ran SQL queries over it from Node.js. A full scan took ~40 seconds on two GPUs, and ~14 seconds once GPUDirect Storage was in. I wrote about how it all works in this post.