On this page:
RAFT:   CUDA primitives for Racket
9.3

RAFT: CUDA primitives for Racket🔗ℹ

bkc

This library binds NVIDIA RAFT and provides a low-level interface for working with arrays on the GPU. It needs Linux, an NVIDIA GPU and Racket 9.3 (Getting started).

The manual has two parts: the Guide works through the library by example, and the Reference documents every exported name.

License. This package is distributed under Apache-2.0.

Acknowledgements. RAFT and the libraries it builds on are the work of NVIDIA’s RAPIDS teams.

AI Disclosure. This package and its documentation were created with the use of AI tools.

    1 Guide

      1.1 Getting started

        1.1.1 What you need

        1.1.2 Installing

        1.1.3 A first program

        1.1.4 Checking the stack

      1.2 Concepts

        1.2.1 Using Arrays

        1.2.2 Resources

      1.3 Resources and the GPU

        1.3.1 Finding the GPU

        1.3.2 Each worker’s resources

        1.3.3 Timing a batch

        1.3.4 A worker

        1.3.5 Fanning out

        1.3.6 Reporting failed workers

      1.4 Device arrays

        1.4.1 A dataset on the GPU

        1.4.2 Changing the layout

        1.4.3 Other forms of Racket data

        1.4.4 Bringing values back

        1.4.5 Letting go

    2 Reference

      2.1 The raft module

      2.2 Resources, devices and errors: raft/core

        2.2.1 Device resources

        2.2.2 Devices

        2.2.3 The default memory resource

        2.2.4 Errors

        2.2.5 Exiting while jobs run

        2.2.6 Version and ABI

      2.3 Device arrays: raft/array

        2.3.1 Making arrays

        2.3.2 Inspecting arrays

        2.3.3 Changing the layout

        2.3.4 Converting Racket data

      2.4 Conversions: raft/compat

        2.4.1 Vectors and nested data

        2.4.2 Packed numbers: f32vectors, f64vectors and bytes

        2.4.3 math/matrix and math/array

        2.4.4 From raft/array

      2.5 Downstream interface: raft/unsafe

        2.5.1 Checking native calls

        2.5.2 Long calls

        2.5.3 The ABI tag

        2.5.4 The handle

        2.5.5 Array views

        2.5.6 Outputs sized by the call

        2.5.7 The C interface