Skip to content

TypedPython: commit to GPU kernels and CPU SIMD, record the kernel backend decision #185

Closed

Description

@b-re-w

What

Promote GPU kernels (and CPU SIMD for @compiled) in TypedPython from an exploration to a commitment, and rewrite docs/design/typedpython.md §5 with the backend decision from the two investigations:

  • Frontend and IR are ours (valid Python, runs on CPython); the IR is designed to map onto MLIR.
  • Emitters per target: SPIR-V (Vulkan), MSL emitted directly (Apple, so simdgroup_matrix and Metal 4 tensor ops stay reachable), WGSL (web), PTX (desktop CUDA), C with vector extensions / NEON (CPU SIMD).
  • The MLIR Python wheel is an optional build-time helper (SPIR-V/PTX serialisation, validation, cross-check), run in a separate 3.14t process until a 3.15t wheel exists.
  • Runtime is torchnative's device layer (ash Vulkan, candle-metal); wgpu only for the web.
  • Tile-first kernel model, SIMT as the fallback.
  • TileLang/TVM, CubeCL, IREE, xDSL: references, not dependencies.

Why

The maintainer wants TypedPython to stand against Mojo; INTENT §1.4 still calls GPU kernels an exploration. The investigations are recorded under docs/investigations/.

Done when

INTENT §1.4 states the commitment with the maintainer's words; design §5, §6, §7, §8 are consistent with the decision; both investigation records are in docs/investigations/; no em-dash in changed files. Docs only, no code.

Activity

  1. added a commit that references this issue on Oct 4, 2026
  2. b-re-w commented on Oct 4, 2026

    @b-re-w
    MemberAuthor

    Landed in develop via #186

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions