TinyChain-Inc / TinyChain-Inc/ha-ndarray

Implement CubeCL array, indexing, transform, and elementwise parity

Open
#35 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

Implement the non-reduction CubeCL operation tranche needed for practical Array use while preserving the existing public API and numerical/error semantics.

Scope

Buffer construction and conversion; dtype conversion; broadcasting; unary/binary elementwise operations; slicing, gather, indexing, reshape, transpose and other existing view/transform operations. Reuse shared conformance fixtures rather than copying backend-specific tests.

Acceptance criteria

  • Every in-scope public operation supported by OpenCL has a CubeCL conformance case.
  • Aliasing, non-contiguous views, bounds errors, zero-sized dimensions, and dtype conversions are covered.
  • Host/CubeCL results match within documented dtype tolerances.
  • Device allocations and transfers are observable and released after the owning arrays/results are dropped.
  • No OpenCL source is changed except shared abstraction/conformance integration.

Parent: #33

Tembo-sized implementation issues

  • #41 — runtime, device, buffer, transfer, and constructors
  • #42 — broadcasting, elementwise operators, and dtype conversion
  • #43 — views, slicing, indexing, gather, reshape, and transpose

Dependency order: #41 → (#42 and #43 in parallel).

Tembo program boundary

This parent is a non-executable acceptance rollup. Tembo must be assigned to the child issues, and may not close this issue from a child PR.

automation:
  eligible: false
  executor_profile: tembo
  readiness: rollup
  primary_repository: TinyChain-Inc/ha-ndarray
  base_branch: main
  writable_scope: []
  prerequisites: ["#41", "#42", "#43"]
  concurrency_group: cubecl-general-parity-rollup
  required_commands: []
  external_actions: none
  draft_pr_only: true
  completion_authority: human

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 reading child issues #41, #42, and #43 in dependency order, then inspect the shared conformance fixtures they identify. The work is done when all in-scope CubeCL operations have conformance coverage, including aliasing, views, bounds, zero-sized dimensions, dtype conversions, tolerances, and allocation-release behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.