batchlas::select::Device Struct Reference

Overview

The device facts a can_run predicate and the table lookup read (§5.1).

Definition at line 44 of file select.hh.

#include </home/runner/work/BatchLAS/BatchLAS/src/select/select.hh>

Functions

◆ slm_budget_for()

std::int64_t batchlas::select::Device::slm_budget_for ( int wg) const
inlineconstexpr

slm_budget for a launch of wg work-items (>= slm_budget when wg <= max_wg).

Definition at line 58 of file select.hh.

Variables

◆ key

std::string batchlas::select::Device::key

table key: "sm_120", "gfx90a", "intel", "apple_m5_max", "cpu"

Definition at line 45 of file select.hh.

◆ family

std::string batchlas::select::Device::family

"sm", "gfx", "intel", "apple", "cpu": borrowing stays in a family first

Definition at line 46 of file select.hh.

◆ arch_number

int batchlas::select::Device::arch_number = 0

120, 89, 90 (gfx90a), 5 (apple_m5_max), 0 for cpu

Definition at line 47 of file select.hh.

◆ is_gpu

bool batchlas::select::Device::is_gpu = false

Definition at line 48 of file select.hh.

◆ has_sg32

bool batchlas::select::Device::has_sg32 = false

Definition at line 49 of file select.hh.

◆ has_vendor

bool batchlas::select::Device::has_vendor = false

the asking op's library group (OpSpec::vendor) is compiled in

Definition at line 50 of file select.hh.

◆ slm_budget

std::int64_t batchlas::select::Device::slm_budget = 0

LOCAL_MEM_SIZE less a 4 KiB reserve, bytes: any work-group size.

Definition at line 51 of file select.hh.

◆ max_wg

int batchlas::select::Device::max_wg = 0

MAX_WORK_GROUP_SIZE.

Definition at line 52 of file select.hh.

◆ slm_per_item

std::int64_t batchlas::select::Device::slm_per_item = 0

local memory the runtime adds per work-item (Metal: 8)

Definition at line 53 of file select.hh.

◆ max_groups_yz

std::int64_t batchlas::select::Device::max_groups_yz = 65535

Work-groups in SYCL dim 0/1 of a 2-D/3-D launch (CUDA grid z/y); Metal: 2^32 - 1.

Definition at line 55 of file select.hh.