batchlas::ops::geqrf Namespace Reference

Functions

◆ can_run()

template<class T>
bool batchlas::ops::geqrf::can_run ( const GeqrfChoice & c,
const select::Device & d,
const MV< T > & A )

Correctness only (R3): each clause is its driver's check.

One (m, n, ld, stride) per launch and a wide view's off-panel update: natives take neither; the vendor (top-level (m, n) per item) takes no heterogeneous batch.

Definition at line 27 of file can_run.hh.

◆ candidates()

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

Every compiled choice, once, in tie-break order (§6.3): narrowest first, vendor last.

Definition at line 24 of file choice.hh.

◆ aspect_of()

template<class Int>
std::int64_t batchlas::ops::geqrf::aspect_of ( Int m,
Int n )
constexpr

The aspect key: max(m, n) / min(m, n), 1 for an empty view.

Definition at line 32 of file choice.hh.

Types

◆ MV

Definition at line 22 of file can_run.hh.

◆ GeqrfChoice

fieldless: buckets, packing, nb, leaf derived

Definition at line 20 of file choice.hh.

Variables

◆ spec

select::OpSpec batchlas::ops::geqrf::spec {Op::geqrf, select::Lib::factorization}
inlineconstexpr

last resort (§5.5): blocked, vendor

Definition at line 26 of file choice.hh.

◆ key_names

std::array<std::string_view, 3> batchlas::ops::geqrf::key_names {"form:exact", "n:log:3", "aspect:log"}
inlineconstexpr

Keys: form sq | tall (m > n) | wide (m < n), exact; n log weight 3; aspect log. Work ~ n^3 * aspect.

Definition at line 29 of file choice.hh.

◆ grid_n

std::array<int, 52> batchlas::ops::geqrf::grid_n
inlineconstexpr
Initial value:
{1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 16, 17, 20, 21, 22,
23, 24, 28, 31, 32, 33, 40, 47, 48, 49, 56, 63, 64, 75, 76, 80, 96,
97, 112, 128, 160, 192, 224, 255, 256, 288, 384, 512, 768, 1024, 1536, 2048,
3072, 4096, 8192}

Rows: sq x grid_n, tall x grid_n x grid_aspect, wide x grid_wide_n x grid_wide_aspect; both sides of every transcribed threshold (the transcriber, tuned/README.md, spells the same grid).

Definition at line 39 of file choice.hh.

◆ grid_aspect

std::array<int, 11> batchlas::ops::geqrf::grid_aspect {1, 2, 3, 4, 5, 7, 8, 12, 16, 64, 256}
inlineconstexpr

Definition at line 43 of file choice.hh.

◆ grid_wide_n

std::array<int, 4> batchlas::ops::geqrf::grid_wide_n {2, 64, 1024, 8192}
inlineconstexpr

Definition at line 44 of file choice.hh.

◆ grid_wide_aspect

std::array<int, 3> batchlas::ops::geqrf::grid_wide_aspect {1, 4, 64}
inlineconstexpr

Definition at line 45 of file choice.hh.

Classes

struct  Blocked
 geqrf_blocked_dispatch + the public gemm, any m >= n More...
struct  Cta
 geqrf_cta_dispatch: the whole panel in SLM (geqrf_cta_fits) More...
struct  overloaded
 std::visit over a choice with one lambda per family. More...
struct  Tiny
 geqrf_tiny_dispatch: square, registers, n <= the tiny ceiling More...
struct  Vendor
 backend::geqrf_vendor; needs the factorization library More...