node-rapids
is a collection of Node.js native addons for the NVIDIA RAPIDS suite of GPU-accelerated data-science and ETL libraries on Linux and WSL2.
@rapidsai/rmm
- RAPIDS Memory Manager@rapidsai/cudf
- RAPIDS GPU DataFrame@rapidsai/cuml
- RAPIDS Machine Learning Library@rapidsai/cugraph
- RAPIDS Graph Analytics Library@rapidsai/cuspatial
- RAPIDS Accelerated GIS Library@rapidsai/sql
- Multi-node/multi-GPU accelerated SQL execution engine
node-rapids
includes limited bindings to other necessary native APIs:
@rapidsai/cuda
- Interact with GPUs via the CUDA Runtime APIs@rapidsai/glfw
- Create platform-agnostic native windows with OpenGL contexts via GLFW@rapidsai/webgl
- Provides aWebGL2RenderingContext
via OpenGL ES
node-rapids
uses the ABI-stable N-API
via node-addon-api
, so the libraries work in node and Electron without recompiling.
See the API docs for detailed information about each module.
Getting started
Due to native dependency distribution complexity, pre-packaged builds of the node-rapids
modules are presently only available via our public docker images. See USAGE.md for more details.
Getting involved
See DEVELOP.md for details on setting up a local dev environment and building the code.
We want your input! Join us in the #node-rapids channel in the RAPIDS-GoAI Slack workspace.
Tracking Progress
You can review BINDINGS.md to see which bindings have been completed for each of the RAPIDS libraries.
Demos
Check out our demos to see various visualization and compute capabilities:
- Library of deck.gl demos in OpenGL
- Cross filtering millions of rows with cuDF
- Simulating & rendering with cuGraph
- Querying millions of points with cuSpatial
- Multi-GPU SQL queries on GBs of CSVs
Check out our Jupyter Lab Notebook Demos to see how to use Node.js for GPU accelerated data science.
License
This work is licensed under the Apache-2.0 license.