TinyChain-Inc / TinyChain-Inc/ha-ndarray

Gate CubeCL parity and retire the OpenCL backend

Open
#40 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
3
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Objective

Remove the deprecated OpenCL backend only after CubeCL satisfies documented functionality, performance, native/browser, fusion, and streaming gates.

Procedure

  1. Freeze a parity matrix against the current OpenCL behavior and supported public API.
  2. Run correctness, memory, cold/warm compilation, throughput, and block-stream benchmarks on documented hardware.
  3. Publish migration and release notes, including feature-name changes and fallback behavior.
  4. Deprecate opencl for at least one release unless the maintainer explicitly approves a same-release removal.
  5. Remove ocl, the opencl feature, OpenCL build detection, kernels, tests, and docs.
  6. Verify default/no-default/CubeCL/stream/browser build combinations.

Acceptance criteria

  • #35, #36, #37, #38, #39 and benchmark migration #22 are accepted.
  • The parity matrix has no unexplained functional gaps.
  • Performance regressions beyond an agreed threshold are documented and explicitly approved.
  • rg -n "ocl|opencl|OpenCL" Cargo.toml src tests README.md has no runtime/backend references except migration history.
  • All supported feature combinations and downstream TinyChain integration tests pass.
  • Rayon remains available unless a separate measured decision authorizes its retirement.
  • Release notes give users an actionable migration path and rollback version.

Parent: #33

Protected retirement decision

Tembo may implement removal only after a maintainer records the accepted parity matrix, supported runtime matrix, benchmark hardware, regression thresholds, deprecation/release policy, and rollback release. Tembo may generate evidence and a draft removal PR; it may not choose thresholds, waive unexplained gaps, approve performance regressions, or make the final backend-retirement decision.

Required evidence includes host/CubeCL differential results, designated accelerator results, actual-browser WebGPU results, cold compilation versus warm execution, transfer time, peak host/device memory, fused/unfused comparisons, streamed-block behavior, downstream TinyChain integration, and exact environment identities.

automation:
  eligible: false
  executor_profile: tembo
  readiness: validation/review
  primary_repository: TinyChain-Inc/ha-ndarray
  base_branch: main
  writable_scope: []
  prerequisites: ["#41", "#42", "#43", "#44", "#45", "#46", "#47", "#48", "#49", "#39", "#50", "#22"]
  concurrency_group: opencl-retirement-decision
  required_commands: []
  external_actions: none
  draft_pr_only: true
  completion_authority: human-maintainer-release-review

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the parity and benchmark prerequisites in #35, #36, #37, #38, #39, #22 and the referenced Cargo.toml, src, tests, and README.md areas. Establish the required runtime and benchmark evidence, then verify supported build combinations and TinyChain integration; completion also requires maintainer approval of thresholds, migration notes, deprecation policy, and rollback release before removal.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, build-system, documentation
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.