cheatah
Struct

space::irbem::gpu::KernelInfo

cheatah-space v0.1.0-alpha — Biome Standard 0.6.5-alpha

One entry point of irbem.slang, as the host side knows it.

The registry is what makes an unknown kernel a named error instead of a missing file, and what lets a test assert that the host's list and the Slang source's list are the same list.

Constants & variables

var const char * name #

The Slang entry-point name, which is also the .spv stem.

A string literal, so name is a valid NUL-terminated C string for the context's const char* launch API.

var std::string_view brief #

One line saying what the kernel computes, for a diagnostic or a kernel listing.

var unsigned bindings #

How many buffers the kernel binds, at set 0, bindings 0 .. bindings-1.

var unsigned params #

How many float scalars the kernel's parameter buffer holds.

var std::size_t crossover_points #

The batch size at or above which the device lane is MEASURED to beat the host lane, or never_faster_on_device when no such size was found.

Per kernel, because the crossover is a property of arithmetic intensity: a kernel that does a dozen flops per point can never pay for moving that point across the bus, and one that traces a field line for a thousand steps pays for it immediately. A single library-wide constant would be wrong for both.