Template Function ADS::detail::tiledTranspose

Function Documentation

template<Executor E>
void ADS::detail::tiledTranspose(E &ex, const Complex *S, Complex *D, std::size_t r, std::size_t c)

D = the transpose of the r x c matrix S by rows, in tasks of 16 rows of S by 256 of its columns, each by tiles of 16 x 16: a task reads 16 rows and writes 256, so that its pages fit the TLB whatever the distance of two rows (a column of a large matrix crosses a page at each row)