Skip to content

feat: add bounded TensorFlow CUDA E3 candidate - #12

Merged
rextio merged 8 commits into
0.1.2from
feat/012-cuda-e3-tfe-candidate
Jul 24, 2026
Merged

rextio merged 8 commits into
0.1.2from
feat/012-cuda-e3-tfe-candidate

Conversation

@rextio

@rextio rextio commented Jul 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds a bounded TensorFlow CUDA E3 build-only candidate for the 0.1.2 integration branch.

The candidate lowers one frozen inference slice:

tf.matmul
→ tf.nn.bias_add
→ tf.nn.relu
→ tf.reduce_mean(axis=1)

Generated Rust calls a separate rextio_tensorflow_cuda_runtime over TensorFlow 2.21.0's TFE C API. It reuses already-resident cuda:0 float32 rank-1/rank-2 tensors and the existing eager context; it does not expose raw CUDA allocation, streams, executors, or host/device copies.

Frozen candidate contract

  • Linux x86_64 GNU
  • CPython 3.11
  • Rust 1.93.1
  • TensorFlow 2.21.0
  • plugin API 1.6 / Device Provider API 1
  • provider rextio-device-cuda
  • capability cuda-tensorflow-tfe-linux-x86_64
  • exact resource contracts:
    • framework.tensor
    • framework.eager-context
  • inference/no-grad only
  • inputs must already reside on canonical TensorFlow GPU:0
  • fail closed when the authorized provider/capability, ABI symbols, owning DSO, device, dtype, rank, axis, or tape/forward-accumulator boundary differs

Evidence

  • Adds a synthetic provider → Core generation → generated Rust cdylib link job on Ubuntu.
  • GitHub Actions run 30067213294 passed all 14 component jobs plus ci-gate, including the CUDA E3 compile/link-only job.
  • The hosted job does not import TensorFlow, load the extension, execute it, or execute CUDA.
  • The generated inference body is checked for the exact four calls, strict order, and chained data flow.
  • Machine-readable evidence is closed over the stable target, toolchain, provider, capability, operation, and resource-contract fields.
  • The official TensorFlow 2.21.0 CPython 3.11 Linux wheel was inspected to bind DeviceList symbols to their actual owning image.

Explicit non-claims

  • support_claim=false
  • certification_ready=false
  • real_gpu_evidence=false
  • No performance claim
  • No NVIDIA hardware execution, private-ABI runtime loading, numerical parity, or production support certification in this PR
  • No Windows, macOS CUDA, non-x86_64 Linux, training/autograd, dynamic shapes, host tensors, implicit copies, multi-GPU, or fallback behavior

Real NVIDIA testing is intentionally deferred until suitable hardware is available. This PR does not target main, create a release, publish to PyPI, or change support status.

Local verification

  • Full non-Cargo Python suite
  • CUDA E3 focused tests
  • Ruff
  • mypy over src
  • git diff --check
  • package/sdist contract checks and generated Linux Rust cargo check were completed during candidate preparation

@rextio
rextio merged commit 16e368a into 0.1.2 Jul 24, 2026
15 checks passed
@rextio
rextio deleted the feat/012-cuda-e3-tfe-candidate branch July 24, 2026 04:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant