Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.

rakka-accel (Python)

Python bindings for rakka-accel — drive an actor-supervised NVIDIA CUDA pipeline directly from Python without juggling streams, contexts, or hand-rolled retry loops.

import numpy as np
import rakka_accel

with rakka_accel.System.open("my-app") as sys:
    dev = sys.spawn_device(device_id=0)         # real CUDA device

    # Allocate two N×N f32 buffers on-device.
    n = 256
    a = dev.allocate_f32(n * n)
    b = dev.allocate_f32(n * n)
    c = dev.allocate_f32(n * n)

    # Upload from numpy.
    dev.copy_from_numpy(a, np.ones(n * n, dtype=np.float32))
    dev.copy_from_numpy(b, np.full(n * n, 2.0, dtype=np.float32))

    # Run cuBLAS SGEMM — the call blocks until the kernel finishes.
    dev.sgemm(a, b, c, m=n, n=n, k=n, alpha=1.0, beta=0.0)

    # Pull the result back into a fresh numpy array.
    result = dev.copy_to_numpy(c)
    print(result.reshape(n, n))

For hosts without a GPU, pass mock=True to spawn_device and the device replies Unrecoverable("...mock mode") for any kernel call — useful for testing the surrounding plumbing in CI.

Install

The wheel builds with maturin:

# from this directory
pip install maturin pytest numpy
maturin develop --release       # builds + installs into the active venv
pytest tests/                    # runs the no-GPU smoke suite

For a release wheel:

maturin build --release --no-default-features --features extension-module
# wheel lands in target/wheels/

The pure-Python facade (python/rakka_accel/__init__.py) re-exports the native classes and exception types. Downstream libraries import from rakka_accel and treat rakka_accel._native as private.

Feature flags

The Rust crate matches rakka-accel's feature gating so the wheel can be built minimal or full:

Feature Adds
(default) System, Device, GpuBuffer, exceptions
curand RngGenerator
nvrtc NvrtcKernel
cudnn / cufft / cusolver / cublaslt / nccl placeholder; future Python surfaces
core-libs / training-libs / full-cuda aggregates
maturin develop --features rakka-accel-py/curand,rakka-accel-py/nvrtc

Public API

Class / function What it wraps
rakka_accel.System.open(name) A rakka_core::actor::ActorSystem lifetime
system.spawn_device(id, mock=) A DeviceActor (real or mock)
device.allocate_f32(len) DeviceMsg::AllocateF32GpuBuffer
device.copy_from_numpy(buf, np) H2D CopyFromHostF32
device.copy_to_numpy(buf) D2H CopyToHostF32 → numpy float32 array
device.sgemm(a,b,c,m,n,k,...) cuBLAS SGEMM via BlasActor
device.stats() DeviceMsg::StatsDeviceLoad
GpuBuffer.is_stale() Generation token check vs. DeviceState
GpuRuntimeError (and subclasses) Typed GpuError mapping

Every method blocks the calling thread until the underlying actor replies (the GIL is released for the duration via py.allow_threads). Async wrappers can be layered later via pyo3_async_runtimes::tokio::future_into_py.

How it works

Three pieces:

  1. A shared tokio runtime. The first call to System.open(...) initializes a multi-threaded scheduler; every subsequent call reuses it. Implemented in src/runtime.rs via pyo3-async-runtimes::tokio::init.
  2. The _native extension module. src/lib.rs registers System, Device, GpuBuffer, exceptions, and (feature-gated) RngGenerator / NvrtcKernel. Each Python class wraps a typed ActorRef<...> from rakka-accel and converts replies via errors::map_gpu.
  3. The pure-Python facade at python/rakka_accel/__init__.py. Hides _native; documents the API; gives downstream libraries a stable import path.

See docs/python-bridge.md for the full architecture write-up.

License

Apache-2.0.

Release files for rakka-accel 0.2.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rakka-accel 0.2.9
File Size Uploaded
rakka_accel-0.2.9.tar.gz 9.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for rakka-accel 0.2.9
File
rakka_accel-0.2.9-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
rakka_accel-0.2.9-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
rakka_accel-0.2.9-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
rakka_accel-0.2.9-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.10 abi3 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details

Total release size:12.8 MB

Release files / rakka_accel-0.2.9.tar.gz

Download URL rakka_accel-0.2.9.tar.gz
Size 9.3 MB
Tags Source
SHA-256 checksum
How to use checksums
3f63e6a2f6a5b5e5c52f182125413d2a82d26f13f0a0a9ed684ef4131acf4ed0
BLAKE2b-256 checksum
How to use checksums
0b71ed5b1d575ed90c2e82f57fec46fc4279249dea82aa44140afdfa946fa525
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 3, 2026.

Transparency log

Release files / rakka_accel-0.2.9-cp310-abi3-win_amd64.whl

Download URL rakka_accel-0.2.9-cp310-abi3-win_amd64.whl
Size 631.3 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b02f422a88b3402f99dbd553386054095ad9d8e1c45bf0cb186316eccc350781
BLAKE2b-256 checksum
How to use checksums
d4ad33cca8ce769835a7961b798a310c24b65ed9f52426111863c0df034494a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 3, 2026.

Transparency log

Release files / rakka_accel-0.2.9-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL rakka_accel-0.2.9-cp310-abi3-musllinux_1_2_x86_64.whl
Size 903.7 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
ce8c2dc9c2d97c30e364fcd195c97b04ccbcdd8ae8dbe38e603cc0a6120769ce
BLAKE2b-256 checksum
How to use checksums
659223a661c56e89b382d50c6d2cb38dcc139f7880d0ea8d7626c3ee619a7d44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 3, 2026.

Transparency log

Release files / rakka_accel-0.2.9-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rakka_accel-0.2.9-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 688.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
fc2dd9ae2881cc4c936ac6bfb4cfb26f982d1a466156105c8aff112c2669db6d
BLAKE2b-256 checksum
How to use checksums
84cb88fa17b5e0ba0e5b263233e8450b648e9121fe74f9dac29b0a8e27b23d7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 3, 2026.

Transparency log

Release files / rakka_accel-0.2.9-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL rakka_accel-0.2.9-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.2 MB
Tags CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b28620dd57f5e25da4989ec63c08426635a08c22f78bdab5757b72713b7f0e55
BLAKE2b-256 checksum
How to use checksums
9973eba58320d457950346163d28c13b07a51a57f7c0dee2192c8432abd5bbf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.9 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page