TDLS 0.2.0
Tiny Device-callable Linear Solvers
Loading...
Searching...
No Matches
tile_operations.hpp File Reference

Register-tile micro-kernels shared by the solver families. More...

Include dependency graph for tile_operations.hpp:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Register-tile micro-kernels shared by the solver families.

Author
Tristan Chenaille

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.