gemm: direct, tiled, small, reg, wide, vendor.
evidence: docs/perf/gemm.md
Definition in file choice.hh.
#include <src/select/select.hh>#include <array>#include <complex>#include <cstdint>#include <string_view>#include <type_traits>#include <variant>Go to the source code of this file.
Classes | |
| struct | batchlas::ops::gemm::Direct |
| gemm_direct: one work-item per element, any form; max_wg >= 64 More... | |
| struct | batchlas::ops::gemm::Tiled |
| gemm_tiled: 16x16 shared-memory tile, any form; max_wg >= 256 More... | |
| struct | batchlas::ops::gemm::Small |
| gemm_small: several matrices per work-group; real, see small_fits More... | |
| struct | batchlas::ops::gemm::Reg |
| gemm_reg, float only: m x n x k macro tile with k unroll u; must name a reg_configs entry that instantiates the call's transpose form, and max_wg must cover its threads(). More... | |
| struct | batchlas::ops::gemm::Wide |
| gemm_wide, every scalar: 16-byte-granule m x n x k tiles; must name a wide_configs entry that instantiates the call's form, and max_wg must cover its threads(). More... | |
| struct | batchlas::ops::gemm::Vendor |
| backend::gemm_vendor; needs the level-3 library More... | |
| struct | batchlas::ops::gemm::Forms |
| Transpose forms an instantiation exists for, after the real-scalar C->T fold. More... | |
| struct | batchlas::ops::gemm::RegCfg |
| One compiled register config: tr/tc thread tile, stages, the forms instantiated, and whether NN takes the unpredicated leg when the layout allows (derived per call, never a gate). More... | |
| struct | batchlas::ops::gemm::WideCfg |
| One compiled wide config. More... | |
Namespaces | |
| namespace | batchlas |
| namespace | batchlas::ops |
| namespace | batchlas::ops::gemm |