|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Target-neutral cooperation facts derived from one loop's schedule. More...
#include <sdfg/tiles/tile.h>
Public Member Functions | |
| AxisSchedule ()=default | |
| AxisSchedule (Level level, Space space, bool has_scratchpad, unsigned spatial_axis=0, symbolic::Integer parallel_size=symbolic::integer(0), bool needs_sync=false, symbolic::Integer lanes=symbolic::integer(1)) | |
| bool | has_scratchpad () const |
| Level | level () const |
| Space | space () const |
| unsigned | spatial_axis () const |
| const symbolic::Integer & | parallel_size () const |
| bool | needs_sync () const |
| const symbolic::Integer & | lanes () const |
Static Public Member Functions | |
| static std::optional< AxisSchedule > | classify (const structured_control_flow::ScheduleType &sched) |
| Classify a loop's schedule, or std::nullopt for a sequential loop (which does not shape storage). | |
| static std::optional< Level > | classify_level (const structured_control_flow::ScheduleType &sched) |
The cooperation Level a target assigns to sched, or std::nullopt when no registered target treats it as a scratchpad (device-parallel) schedule (a sequential or host-thread loop). | |
| static bool | drives_cooperative_copy (const structured_control_flow::ScheduleType &sched) |
True when sched is a group-level schedule whose parallel threads can drive a cooperative shared-memory staging copy (a genuine offload schedule). | |
Target-neutral cooperation facts derived from one loop's schedule.
|
default |
| sdfg::tiles::AxisSchedule::AxisSchedule | ( | Level | level, |
| Space | space, | ||
| bool | has_scratchpad, | ||
| unsigned | spatial_axis = 0, | ||
| symbolic::Integer | parallel_size = symbolic::integer(0), | ||
| bool | needs_sync = false, | ||
| symbolic::Integer | lanes = symbolic::integer(1) ) |
|
static |
Classify a loop's schedule, or std::nullopt for a sequential loop (which does not shape storage).
New offload schedule types extend this factory.
|
static |
The cooperation Level a target assigns to sched, or std::nullopt when no registered target treats it as a scratchpad (device-parallel) schedule (a sequential or host-thread loop).
Neutral schedule test: == Level::Group means group-cooperative, == Level::Device means device-wide.
|
static |
True when sched is a group-level schedule whose parallel threads can drive a cooperative shared-memory staging copy (a genuine offload schedule).
Distinguishes real offload block schedules from legacy fused whole-kernel schedules, which cooperate at group level but cannot host a separate copy Map.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |