cd /news/ai-infrastructure/show-hn-navatala-gpu-multi-back-end-… · home topics ai-infrastructure article
[ARTICLE · art-39497] src=github.com ↗ pub= topic=ai-infrastructure verified=true sentiment=· neutral

Show HN: Navatala GPU – multi-back end GPU kernels and Python bindings

Navatala Systems released Navatala GPU, an open-source cross-platform GPU compute runtime and kernel corpus supporting CUDA, HIP, Vulkan, OpenCL, and Metal backends. The alpha release includes Python bindings on PyPI and targets scientific computing workloads such as CFD and machine learning.

read4 min views1 publishedJun 25, 2026
Show HN: Navatala GPU – multi-back end GPU kernels and Python bindings
Image: source

Cross-platform GPU compute runtime and kernel corpus for scientific computing, released under the Apache License 2.0.

The goal is a portable, inspectable GPU library that can run across ROCm/HIP, CUDA, Metal, Vulkan compute, and OpenCL, while still dispatching to vendor libraries where those are the best backend for an operation.

This distribution bundles two cooperating layers:

— a C++20 abstraction that presents one API over CUDA, HIP, Vulkan compute, OpenCL, and Metal. Handles device enumeration, memory allocation (device, pinned, managed), execution queues, event-based synchronization, CUDA/HIP graph capture, and a small stable C++ facade for common operations such asruntime/

navatala::linalg::axpy

. - — a corpus of compute kernels covering finite-volume CFD primitives, algebraic multigrid (AMG), classical iterative solvers (CG, BiCGSTAB, IDR, GMRES), sparse and dense BLAS, and a cross-platform machine-learning library (clustering, regression, KNN, decision trees, SVM, ARIMA, SHAP, UMAP, and more). Kernels ship in five backend forms (CUDA, HIP, OpenCL, Vulkan compute + SPIR-V, Metal) with consistent behaviour across vendors. Per-backend coverage iskernels/

not uniform— seefor the current matrix.docs/BACKEND_COVERAGE.md

A host-side kernel registry that wraps the kernel files for runtime lookup ships under

runtime/include/navatala/

(header) andruntime/src/internal/

(source). It ships as code but does not carry a CMakeLists.txt in this release. - — example host orchestrator code built on the runtime, demonstrating how the CFD kernels compose into a Volume-of-Fluid pressure-projection workflow (orchestrator/

Navatala::Cfd::VofPressureOrchestrator

). Worked example, not a production solver; ships as code without a turnkey CMakeLists.

This is a developer-preview / alpha release. The runtime library and kernel corpus are both in active use for CFD workloads, but the public packaging, documentation, CI matrix, and backend conformance reports are still being expanded.

The Python package is available on PyPI:

pip install navatala-gpu

Importing the package and inspecting its metadata does not require a GPU. Actual GPU execution requires a compatible backend runtime and the native extension for the selected backend.

import navatala_gpu as ng
from navatala_gpu import linalg

print("navatala-gpu", ng.__version__, "ABI", ng.__abi_version__)
print("linalg ops:", ", ".join(linalg.list_bindings()))
print("HIP AXPY in manifest:",
      ng.supports("linalg.axpy", backend="hip", dtype="float32"))
print("known backends:", sorted(ng.get_capabilities()["backends"].keys()))

For compute calls, pass DLPack-compatible tensors to APIs such as linalg.axpy

, linalg.gemm

, and sparse.csr_spmv

. The bindings validate shape, dtype, and backend support before dispatch.

Prerequisites depend on the backends you enable.

Backend Required at build time
CUDA CUDA Toolkit 11.0+ (nvcc , NVRTC, CUDA driver)
HIP ROCm 5.0+ (hipcc , hipRTC)
Vulkan Vulkan SDK with glslc for GLSL→SPIR-V compilation
OpenCL OpenCL 1.2+ headers and ICD
Metal macOS 11+ with Xcode Command Line Tools
cmake -S . -B build
cmake --build build -j

ctest --test-dir build --output-on-failure

Disable backends you don't need:

cmake -S . -B build \
    -DNAVATALA_GPU_USE_CUDA=OFF \
    -DNAVATALA_GPU_USE_HIP=ON \
    -DNAVATALA_GPU_USE_VULKAN=OFF \
    -DNAVATALA_GPU_USE_OPENCL=OFF

Complete, runnable examples are in examples/. The C ABI example uses

navatala_gpu_axpy_f32

; the C++ wrapper example uses navatala::resources

, navatala::buffer

, and navatala::linalg::axpy

. After building, run:

./build/examples/axpy_example
./build/examples/wrapper_axpy_example

Both examples exit 0 with a [skip]

message on hosts without a GPU, so they are safe to wire into CI even on CPU-only runners.

For a fuller tour, see docs/ARCHITECTURE.md.

The repository includes dated MI300X benchmark fixtures under benchmarks/fixtures/hardware_runs/. Recent HIP runs compare generated kernels and public wrapper dispatch against rocBLAS, rocSPARSE, and hipSPARSELt. Exact commands, JSON fixtures, and summary reports are documented in

.

docs/benchmarks/ROCM_VENDOR_BENCHMARKS.md

— how runtime and kernels fit together.docs/ARCHITECTURE.md

— per-backend capabilities and limitations.docs/BACKENDS.md

— what's in the kernel corpus and how to read it.docs/KERNELS.md

— generated backend coverage matrix.docs/BACKEND_COVERAGE.md

— validation status and pending backend evidence.docs/NUMERICAL_CONFORMANCE.md

— selective backend tuning priorities and benchmark evidence rules.docs/TUNING_ROADMAP.md

— optional HIP benchmark harness comparing selected generated kernels against rocBLAS, rocSPARSE, and hipSPARSELt.docs/benchmarks/ROCM_VENDOR_BENCHMARKS.md

— template for public ROCm correctness/benchmark reports.docs/benchmarks/ROCM_VALIDATION_TEMPLATE.md

— Apple Silicon validation and opt-in Metal runtime tuning guide.docs/benchmarks/METAL_VALIDATION.md

— generated domain-grouped kernel index.docs/KERNEL_INDEX.md

— what is public, private, and generated.docs/PUBLIC_PRIVATE_BOUNDARY.md

— dependency and license summary for the release tree.docs/SBOM.md

— TestPyPI/PyPI release procedure.docs/PYPI_RELEASE.md

— release-readiness checklist.docs/ALPHA_RELEASE_CHECKLIST.md

— local alpha-candidate gate evidence.docs/release/ALPHA_0_1_1_EVIDENCE.md

— vulnerability reporting policy.SECURITY.md

See CONTRIBUTING.md. External contributions to the hand-authored layers — runtime, examples, docs, tests, and tooling — are welcome through the normal pull-request flow. The kernel sources are regenerated as a unit; the contribution model for those paths is documented in CONTRIBUTING.md.

For bug reports, backend validation results, or technical questions, open a GitHub Issue at https://github.com/navatala-systems/navatala_gpu/issues.

The kernel sources under kernels/{cuda,hip,opencl,vulkan,metal}/

and the generated Python facade modules under python/navatala_gpu/

are produced from an upstream specification and regenerated together per release. The kernels/manifest.json

file is the machine-readable provenance record; docs/KERNEL_INDEX.md and docs/BACKEND_COVERAGE.md are rendered from it. See CONTRIBUTING.md for how patches against these paths are routed.

Apache License 2.0. See LICENSE and NOTICE.

Copyright (c) 2026 Navatala Systems (OPC) Pvt Ltd
── more in #ai-infrastructure 4 stories · sorted by recency
── more on @navatala systems 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-navatala-gpu…] indexed:0 read:4min 2026-06-25 ·