Contents

struct

SushiBLAS::Launch::Shape1D

How one per-element kernel walks its elements.

Declared in
include/SushiBLAS/support/launch_1d.hpp

Public attributes

Device::Grid1D grid {}

The nd_range to launch and the stride its loop advances by.

std::size_t vector_steps = 0

How many whole 128-bit accesses the wide pass covers.

Zero means "no wide pass": the scalar loop starts at element 0 and covers everything. That is how the scalar and vectorised shapes stay a single kernel with a single set of loop bounds, rather than two kernels or a divergent branch.

bool flat = false

Holds whether the launch is a flat range<1>(n) instead of a grid-stride loop.

See also

include/SushiBLAS/support/README.md