|
TDLS 0.2.0
Tiny Device-callable Linear Solvers
|
Register-tile micro-kernels shared by the solver families. More...
#include <tdls/core/macros.hpp>Go to the source code of this file.
Classes | |
| struct | tdls::TileOperations< T, tile_size, unroll_inner > |
| tile_size x tile_size register-tile micro-kernels shared by the solver families. More... | |
Register-tile micro-kernels shared by the solver families.
A tile is a tile_size x tile_size register array with row stride tile_size; partial (trailing) tiles use the same storage with extent template parameters bounding every loop, so phantom slots are never read or written and cost nothing.
These operate on register arrays only. Remote-memory movement lives in the solvers, next to the addressing macros. Family-specific kernels extend this struct in their own header.
Every loop is subject to the unroll_inner knob of the family configuration: with it, the loops must effectively unroll or the tiles are demoted to local memory on GPU backends; without it, no pragma is emitted at all.