Contents

struct

SushiBLAS::Device::Profile

Holds the device properties a kernel is allowed to dispatch on.

Declared in
include/SushiBLAS/support/device_policy.hpp

See also

include/SushiBLAS/support/README.md

Public attributes

bool is_cpu = true

True when the SYCL runtime classifies the device as a CPU.

bool has_dedicated_local_memory = false

Holds whether scratchpad memory is physically separate storage.

See also

include/SushiBLAS/support/README.md

bool supports_fp64 = false

True when the device supports double precision natively.

std::size_t local_mem_bytes = 0

Bytes of work-group local memory available to one group.

std::size_t max_work_group_size = 1

Largest work-group the device will accept.

std::size_t sub_group_size = 1

The sub-group width to assume, in work-items.

32 on NVIDIA, 64 on AMD's wave64 parts, one of {8,16,32} on Intel. Kernels use it to keep work-group sizes a whole number of sub-groups and to know how wide a barrier-free shuffle reduction can be.

std::size_t compute_units = 1

Independent execution units: SMs, CUs, or hardware threads.