Skip to main content

Module aot_unsupported

Module aot_unsupported 

Source
Expand description

The ops no single-device AOT backend can run — concurrency, virtual-time scheduling, and networking — classified once so the device tiers (Tenstorrent baby core, one CUDA kernel launch) cannot drift apart on their refusal set.

A Tensix baby core and a GPU are both SPMD single-program engines with no cooperative scheduler and no host IO on the compute path. Whatever else a given tier additionally cannot lower (a GPU thread cannot run the glibc-heavy dynamic runtime, for instance) it layers on top of THIS shared base; the base itself is the one thing every offload target agrees on.

Enums§

Offload
The category of op that no single-device AOT backend can lower. Each tier maps a category to its own worded reason (a Tensix core vs. a CUDA kernel phrase it differently) but the SET is shared, so a concurrency/networking op can never be silently accepted by one tier and refused by another.

Functions§

classify
Classify a single op. None for every op that is not inherently off a single-device datapath (arithmetic, control flow, collections, …).
first
The first offload-unsupported op in program, classified — None if the whole program is on the single-device datapath.
first_reachable
The first unsupported op REACHABLE from the program’s entry — the honest question for a backend deciding whether it can build this program.