open-index/open-npm huggingface dataset:
npm package: @rapidsai/cuda
Description: NVIDIA CUDA driver and runtime API bindings
Author: NVIDIA, Inc.
Latest version: 22.12.1

### node-cuda (`npm install @rapidsai/cuda`)
    A node native addon that provides bindings to the CUDA driver and runtime APIs.
    These bindings allow calling the CUDA device management, memory, stream, event, ipc, and
    DX/GL interop APIs from JS. These APIs allow node (v8 or chakracore) applications to read,
    write, and share memory via zero-copy CUDA IPC with external processes that also use the
    CUDA, OpenGL, and RAPIDS libraries.

#### Device management:
    cudaChooseDevice, cudaGetDeviceCount, cuDeviceGet, cudaDeviceGetPCIBusId, cudaDeviceGetByPCIBusId, cudaGetDevice, cudaGetDeviceFlags, cudaGetDeviceProperties, cudaSetDevice, cudaSetDeviceFlags, cudaDeviceReset, cudaDeviceSynchronize, cudaDeviceCanAccessPeer, cudaDeviceEnablePeerAccess, cudaDeviceDisablePeerAccess

#### Memory:
- `CUDADevice`: A class to wrap and manage a CUDA device.
- `CUDABuffer`: A class to wrap and manage device memory allocations (similar to ArrayBuffer).
- `CUDAArray`: A class to wrap operations like read/write/share on a `CUDABuffer` (similar to TypedArray).
-     cuPointerGetAttribute, cudaMalloc, cudaFree, cudaMallocHost, cudaFreeHost, cudaHostRegister, cudaHostUnregister, cudaMemcpy, cudaMemset, cudaMemcpyAsync, cudaMemsetAsync, cudaMemGetInfo

#### IPC:
    cudaIpcGetMemHandle, cudaIpcOpenMemHandle, cudaIpcCloseMemHandle

#### Stream:
    cudaStreamCreate, cudaStreamDestroy, cudaStreamSynchronize

#### OpenGL:
    cuGraphicsGLRegisterBuffer, cuGraphicsGLRegisterImage, cuGraphicsUnregisterResource, cuGraphicsMapResources, cuGraphicsUnapResources, cuGraphicsResourceGetMappedPointer
npm package: @rapidsai/cudf
Description: cuDF - NVIDIA RAPIDS GPU DataFrame Library
Author: NVIDIA, Inc.
Latest version: 22.12.1

# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/>&nbsp; node-rapids cuDF - GPU DataFrames</div>

### Installation

`npm install @rapidsai/cudf`

### About

The js bindings for [cuDF](https://github.com/rapidsai/cudf) provides an API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows in a Javascript runtime environment, without going into the details of CUDA programming.

For example, the following snippet creates a series, then uses the GPU to run some calculations:

```javascript
var { Series, Int32 } = require("@rapidsai/cudf");

var series1 = Series.new({ type: new Int32(), data: [1, 2, 3] });
console.log(series1.mean()); // 2
console.log(series1.max()); // 3
```

The following snippet creates a DataFrame, then uses the GPU to to run some calculations:

```javascript
var {
  DataFrame,
  DataType,
  Float64,
  GroupBy,
  Int32,
  Series,
} = require("@rapidsai/cudf");

var a = Series.new({ type: new Int32(), data: [5, 4, 3, 2, 1, 0] });
var b = Series.new({ type: new Int32(), data: [0, 0, 1, 1, 2, 2] });
var df = new DataFrame({ a: a, b: b });
var grp = new GroupBy({ obj: df, by: ["a"] });

var groups = grp.getGroups();

console.log(...groups["keys"].get("a")); // [0,1,2,3,4,5]
console.log(...groups.values?.get("b")); // [2,2,1,1,0,0]
console.log(...groups["offsets"]); // [0,1,2,3,4,5,6]
```

For detailed node-cuDF API, follow our [API Documentation](https://rapidsai.github.io/node/modules/cudf_src.html).
npm package: @rapidsai/cugraph
Description: cuGraph - NVIDIA RAPIDS Graph Analytics Library
Author: NVIDIA, Inc.
Latest version: 22.12.1

# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/>&nbsp; node-rapids cuGraph - GPU Graph Analytics</div>

### Installation

`npm install @rapidsai/cugraph`

### About

The js bindings for [cuGraph](https://github.com/rapidsai/cugraph) is a collection of GPU accelerated graph algorithms that process data found in GPU DataFrames.

For detailed node-cuGraph API, follow our [API Documentation](https://rapidsai.github.io/node/modules/cugraph_src.html).
npm package: @rapidsai/cuml
Description: cuML - NVIDIA RAPIDS Machine Learning Library
Author: NVIDIA, Inc.
Latest version: 22.12.1

# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/>&nbsp; node-rapids cuML - GPU Machine Learning Algorithms</div>

### Installation

`npm install @rapidsai/cuml`

### About

The js bindings for [cuML](https://github.com/rapidsai/cuml) is a suite of libraries that implement machine learning algorithms and mathematical primitives that share compatible APIs with other RAPIDS projects.

For detailed node-cuML API, follow our [API Documentation](https://rapidsai.github.io/node-rapids/modules/cuml_src.html).
npm package: @rapidsai/cuspatial
Description: cuSpatial - NVIDIA RAPIDS GIS and Spatiotemporal Analytics Library
Author: NVIDIA, Inc.
Latest version: 22.12.1

# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/>&nbsp; node-rapids cuSpatial - GPU-Accelerated Spatial and Trajectory Data Management and Analytics Library</div>

### Installation

`npm install @rapidsai/cuspatial`

### About

JS bindings for [cuSpatial](https://github.com/rapidsai/cuspatial).

For detailed node-cuSpatial API, follow our [API Documentation](https://rapidsai.github.io/node/modules/cuspatial_src.html).
npm package: @rapidsai/glfw
Description: Platform-native (and headless) GPU-accelerated OpenGL windows
Author: NVIDIA, Inc.
Latest version: 22.12.1

### node-glfw (`npm install @rapidsai/glfw`)
    A node native addon that provides bindings to the platform window manager via GLFW (https://www.glfw.org/).
    GLFW provides cross-platform multi-display support for creating native windows that host an
    OpenGL or Vulkan rendering context. These bindings provide a stripped-down version of the
    DOM's "Window", "Document", and "Canvas" APIs.

#### dependencies:
- `@rapidsai/webgl`

#### Window management:
- [Window](https://www.glfw.org/docs/latest/group__window.html) wraps and manages a GLFW `Window`.
- [Document](https://developer.mozilla.org/en-US/docs/Web/API/Document) implements a few DOM `Document` APIs that frameworks expect.
- [Canvas](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API) implements a DOM `Canvas` APIs that provides a 3D rendering context.

#### GLFW APIs:
    createWindow, showWindow, hideWindow, focusWindow, iconifyWindow, restoreWindow, maximizeWindow, requestWindowAttention, reparentWindow, destroyWindow, getWindowFrameSize, getWindowContentScale, setWindowSizeLimits, getPlatformWindowPointer, getPlatformContextPointer, get/setWindowIcon, get/setWindowSize, get/setWindowTitle, get/setWindowMonitor, get/setWindowOpacity, get/setWindowPosition, get/setWindowAttribute, get/setWindowAspectRatio, get/setWindowShouldClose
npm package: @rapidsai/io
Description: cuIO - NVIDIA RAPIDS I/O Library
Author: NVIDIA, Inc.
Latest version: 22.12.1

# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/>&nbsp; node-rapids io - GPU-Accelerated IO</div>

### Installation

`npm install @rapidsai/io`

### About

JS bindings providing GPU-accelerated I/O primitives.

For detailed IO API, follow our [API Documentation](https://rapidsai.github.io/node/modules/io_src.html).
npm package: @rapidsai/rmm
Description: RMM - NVIDIA RAPIDS Memory Manager
Author: NVIDIA, Inc.
Latest version: 22.12.1

# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/>&nbsp; node-rapids RMM - RAPIDS Memory Manager</div>

### Installation

`npm install @rapidsai/rmm`

### About

The js bindings for [RMM](https://github.com/rapidsai/rmm).

For detailed node-RMM API, follow our [API Documentation](https://rapidsai.github.io/node/modules/rmm_src.html).
npm package: @rapidsai/sql
Description: NVIDIA RAPIDS In-memory GPU accelerated SQL Queries
Author: NVIDIA, Inc.
Latest version: 22.12.1

# <div align="left"><img src="https://rapids.ai/assets/images/rapids_logo.png" width="90px"/>&nbsp; node-rapids GPU accelerated SQL engine</div>

### Installation

`npm install @rapidsai/sql`

### About

These js bindings allow for GPU accelerated SQL queries.

For example, the following snippet creates a DataFrame, then uses our SQL engine to select and query a DataFrame using the `SQLContext` module.

```javascript
var { Series, DataFrame, Int32 } = require("@rapidsai/cudf");
var { SQLContext } = require("@rapidsai/sql");

var a  = Series.new({type: new Int32(), data: [1, 2, 3]});
var b  = Series.new({type: new Int32(), data: [4, 5, 6]});
var df = new DataFrame({'a': a, 'b': b});

var sqlContext = new SQLContext();
sqlContext.createDataFrameTable('test_table', df);

await sqlContext.sql('SELECT a FROM test_table').result(); // [1, 2, 3]
```

We have also provided the `SQLCluster` module which allows one to run SQL queries on multiple GPUs.

```javascript
var { Series, DataFrame } = require("@rapidsai/cudf");
var { SQLCluster } = require("@rapidsai/sql");

var a  = Series.new(['foo', 'bar']);
var df = new DataFrame({'a': a});

var sqlCluster = await SQLCluster.init({numWorkers: 2});
await sqlCluster.createDataFrameTable('test_table', df);

await sqlCluster.sql('SELECT a FROM test_table WHERE a LIKE \'%foo%\'');  // ['foo']
```

For detailed SQL API, [follow our API Documentation](https://rapidsai.github.io/node/modules/sql_src.html).