batchlas::ops::symm Namespace Reference

Functions

◆ candidates()

template<class T>
auto batchlas::ops::symm::candidates ( )
constexpr

Every compiled choice, in tie-break order (§6.3): the expansion, then the vendor loop.

Definition at line 22 of file choice.hh.

◆ form_of()

std::string_view batchlas::ops::symm::form_of ( std::int64_t a,
std::int64_t b )
inline

sq if 2 min >= max, else tall (a > 2b) or wide: the transcribed squareish ratio as an exact key.

Definition at line 31 of file choice.hh.

Types

◆ SymmChoice

fieldless: expansion ld and gemm tile derived; native: CUDA GPU

Definition at line 19 of file choice.hh.

Variables

◆ last_resort

std::array<std::string_view, 2> batchlas::ops::symm::last_resort {"expand", "vendor"}
inlineconstexpr

nothing in the row runs

Definition at line 24 of file choice.hh.

◆ spec

select::OpSpec batchlas::ops::symm::spec {Op::symm, select::Lib::level3, {last_resort}}
inlineconstexpr

op, vendor library, rules

Definition at line 25 of file choice.hh.

◆ key_names

std::array<std::string_view, 4> batchlas::ops::symm::key_names {"form:exact", "m:log", "n:log", "batch:log"}
inlineconstexpr

Keys: form exact (the transcribed squareish test as an axis); m, n: C's extents; batch. Side is no key (never read).

Definition at line 28 of file choice.hh.

◆ grid_form

std::array<std::string_view, 3> batchlas::ops::symm::grid_form {"sq", "tall", "wide"}
inlineconstexpr

form axis of the grid

Definition at line 36 of file choice.hh.

◆ grid_mn

std::array<int, 14> batchlas::ops::symm::grid_mn {1, 2, 4, 8, 16, 32, 64, 128, 255, 256, 512, 1024, 2048, 4096}
inlineconstexpr

m, n

Definition at line 37 of file choice.hh.

◆ grid_batch

std::array<int, 9> batchlas::ops::symm::grid_batch {1, 2, 3, 4, 8, 128, 1024, 8192, 32768}
inlineconstexpr

batch axis of the grid

Definition at line 38 of file choice.hh.

◆ kMaxGridBatch

std::int64_t batchlas::ops::symm::kMaxGridBatch = 65535
inlineconstexpr

expand_mirrored puts the batch in SYCL dim 0 = CUDA grid z

Definition at line 40 of file choice.hh.

◆ kExpandWg

int batchlas::ops::symm::kExpandWg = 256
inlineconstexpr

expand_mirrored's work-group: kMirrorGroupCols x kMirrorTile

Definition at line 41 of file choice.hh.

Classes

struct  Expand
 expand_mirrored into scratch + the public gemm; scratch must fit More...
struct  Vendor
 backend::symm_vendor (cublas?symm / cblas_?symm loop) More...