Skip to content

Tracking Issue: Tensor Extension Types #6865

Description

@connortsui20

This issue tracks tensor extension types in vortex-tensor. These types support ML, AI, and scientific data, including images, video, sensor data, time-series data, embeddings, and matrices. Parent Epic: Extension Types #7683.

Design

Tensor support uses Vortex extension types with canonical storage dtypes. Tensor metadata and scalar functions live in vortex-tensor.

The tracked tensor types are:

  • FixedShapeTensor: A tensor with a fixed physical shape and dimension count.
  • VariableShapeTensor: A tensor whose shape can change while its dimension count stays fixed.
  • Matrix: A two-dimensional tensor.
  • Vector: A one-dimensional tensor.

Normalization is an explicit compute operation, not a logical refinement or physical encoding:

  • L2Norm(v) returns the magnitude of each tensor or vector.
  • L2Normalize(v) returns a struct with the normalized value and the same norm.

The scalar functions compute from decoded coordinates. They do not use encoding-specific arithmetic shortcuts.

Design references:

Steps

  • Establish the extension-type support that tensor work requires.
  • Add the initial fixed-shape tensor extension type in vortex-tensor.
  • Reorganize vortex-tensor for multiple tensor-related types.
  • Add the initial Vector extension type and L2Norm expression.
  • Define explicit L2 normalization semantics without a refinement dtype or physical encoding.
  • Add logical shape casts for fixed-shape tensors.
  • Add Arrow export support.
  • Add NumPy export support.
  • Add PyTorch export support.
  • Add variable-shape tensor support.
  • Documentation.
  • Public API stabilization.

Unresolved questions

  • Define the intended stable public API for tensor extension types.
  • Decide the relationship between FixedShapeTensor, VariableShapeTensor, Matrix, and Vector.
  • Decide what validation belongs in tensor extension metadata versus storage-array validation.
  • Define export semantics for Arrow, NumPy, and PyTorch.
  • Decide whether tensor slicing and indexing produce lazy tensor views, materialized arrays, or both.

Implementation history

  • Extension Types RFC established the extension-type design used by tensor work.
  • Fixed-shape Tensor RFC described the first tensor extension design.
  • #6812 added the experimental fixed-shape tensor extension and CosineSimilarity.
  • #6857 reorganized vortex-tensor for more tensor-related types.
  • #6964 added Vector, L2Norm, and AnyTensor.
  • #9767 replaces the Normalized encoding with explicit L2Normalize semantics.
  • #9768 moves L2Norm to RowFn.
  • #9769 moves inner product and cosine similarity to RowFn.

Activity

  1. self-assigned this
    on Mar 10, 2026
  2. changed the title [-]Tracking Issue: Tensor Extension Types[/-] [+]Tracking Issue: Tensor-related Extension Types[/+] on Mar 16, 2026
  3. added a commit that references this issue on Mar 19, 2026
  4. added a commit that references this issue on Mar 20, 2026
  5. changed the title [-]Tracking Issue: Tensor-related Extension Types[/-] [+]Tracking Issue: Tensor Crate[/+] on Apr 2, 2026
  6. changed the title [-]Tracking Issue: Tensor Crate[/-] [+]Tracking Issue: Tensor Types[/+] on Apr 2, 2026
  7. added
    tracking-issueShared implementation context for work likely to span multiple PRs.
    and removed
    featureA feature request
    on Apr 27, 2026
  8. changed the title [-]Tracking Issue: Tensor Types[/-] [+]Tracking Issue: Tensor Extension Types[/+] on Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

tracking-issueShared implementation context for work likely to span multiple PRs.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions