Skip to main content

Multi-backend GPU kernels and Python bindings

Project description

navatala_gpu

Generated Python bindings and runtime facade for Navatala GPU operations.

Scope

  • This package contains Python modules, a nanobind extension scaffold, machine-readable API metadata, and smoke tests for the curated public surface.
  • The package links against the public Navatala GPU C ABI exposed by navatala/navatala_ffi.h.
  • Raw kernel wrappers under navatala_gpu.kernels are an internal/advanced surface; most users should prefer the curated modules such as navatala_gpu.runtime and navatala_gpu.linalg.

Build

The default package build uses the bundled public runtime in stub mode, so pip install . works on hosts without GPU SDKs. Advanced users may link against an already-built runtime by passing the public runtime include directory and shared library:

cmake -S . -B build \
  -DNAVATALA_FFI_INCLUDE_DIR=/path/to/gpu_runtime/include \
  -DNAVATALA_FFI_LIBRARY=/path/to/libgpu_runtime.so
cmake --build build -j

For Python packaging, use a build frontend compatible with scikit-build-core.

Python Usage

import navatala_gpu

caps = navatala_gpu.get_capabilities()
assert "extension_loaded" in caps
assert isinstance(navatala_gpu.supports("axpy", backend="opencl", dtype="float32"), bool)

Runtime Notes

  • import navatala_gpu is designed to be safe on hosts without GPU drivers.
  • Backend availability is reported through navatala_gpu.get_capabilities() and navatala_gpu.supports(...).
  • NumPy interop uses explicit host/device copies through Tensor.from_numpy(...) and Tensor.to_numpy(...).
  • DLPack interop is zero-copy only where the runtime can prove backend compatibility.

Manifest id: pyabi6-2675513039

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

navatala_gpu-0.1.2.tar.gz (4.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

navatala_gpu-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (401.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

navatala_gpu-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (401.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

navatala_gpu-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (403.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

navatala_gpu-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (404.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

navatala_gpu-0.1.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (404.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page