batchlas::ops::syr2k Namespace Reference

Functions

◆ candidates()

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

Every compiled choice, in tie-break order: triangular (float only, R7), vendor.

Definition at line 22 of file choice.hh.

Types

◆ Syr2kChoice

fieldless: the aligned/predicated leg is derived

Definition at line 19 of file choice.hh.

Variables

◆ last_resort

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

triangular: any GPU shape

Definition at line 29 of file choice.hh.

◆ spec

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

op, vendor library, rules

Definition at line 30 of file choice.hh.

◆ key_names

std::array<std::string_view, 3> batchlas::ops::syr2k::key_names {"n:log:2", "k:log", "batch:log"}
inlineconstexpr

Keys: n = C's order, weight 2 (work ~ n^2 k batch); k = op(A)'s inner extent; batch.

Definition at line 33 of file choice.hh.

◆ grid_n

std::array<int, 13> batchlas::ops::syr2k::grid_n {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096}
inlineconstexpr

n axis

Definition at line 36 of file choice.hh.

◆ grid_k

std::array<int, 5> batchlas::ops::syr2k::grid_k {1, 8, 64, 512, 4096}
inlineconstexpr

k axis of the grid

Definition at line 37 of file choice.hh.

◆ grid_batch

std::array<int, 7> batchlas::ops::syr2k::grid_batch {1, 2, 3, 128, 1024, 8192, 32768}
inlineconstexpr

batch axis of the grid

Definition at line 38 of file choice.hh.

◆ kMaxGridBatch

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

batch ceiling of the tile kernel

Definition at line 41 of file choice.hh.

◆ kMaxGridTiles

std::int64_t batchlas::ops::syr2k::kMaxGridTiles = 65535
inlineconstexpr

tile-count ceiling of the tile kernel

Definition at line 42 of file choice.hh.

Classes

struct  Triangular
 syr2k_triangular_tiles<float>, CUDA GPU; real ConjTrans runs as Trans More...
struct  Vendor
 backend::syr2k_vendor (per-item ?syr2k loop) More...