struct
layout::bcsr
BCSR-shaped tile-atom layout view (tile is a block-row).
Block Compressed Sparse Row (BCSR) compresses the matrix at the level of R-by-C dense blocks. The layout's offsets array indexes block-rows, and an atom is a block id (not a scalar nonzero): num_tiles == num_block_rows == ceil(rows / R) num_atoms == num_blocks (total stored R-by-C blocks) tile_size(
Defined in include/loops/container/layout.hxxTemplate Parameters
| Parameter | Description |
|---|---|
tile_id_type | Index type for tiles (block-row id). |
atom_id_type | Index type for atoms (block id). |
Members
offsets_
n_tiles_
length num_tiles + 1.
n_atoms_
Methods
__host__ __device__ bcsr()
__host__ __device__ bcsr(atom_id_t const *offsets, tile_id_t num_tiles, atom_id_t num_atoms)
__host__ __device__ tile_id_t num_tiles( const)
__host__ __device__ atom_id_t num_atoms( const)
__host__ __device__ atom_id_t tile_begin(tile_id_t t) const)
__host__ __device__ atom_id_t tile_end(tile_id_t t) const)
__host__ __device__ atom_id_t tile_size(tile_id_t t) const)
__host__ __device__ tile_end_iterator_t tile_end_iter( const)
__host__ __device__ tile_id_t tile_of(atom_id_t a) const)