|
template<typename scalar_t > |
void | slate::tile::getrf (int64_t diag_len, int64_t ib, std::vector< Tile< scalar_t > > &tiles, std::vector< int64_t > &tile_indices, std::vector< AuxPivot< scalar_t > > &pivot, int mpi_rank, int mpi_root, MPI_Comm mpi_comm, int thread_rank, int thread_size, ThreadBarrier &thread_barrier, std::vector< scalar_t > &max_value, std::vector< int64_t > &max_index, std::vector< int64_t > &max_offset, std::vector< scalar_t > &top_block, blas::real_type< scalar_t > pivot_threshold, int64_t *info) |
| Compute the LU factorization of a panel.
|
|
template<typename scalar_t > |
void | slate::tile::getrf_nopiv (Tile< scalar_t > tile, int64_t ib, int64_t *info) |
| Compute the LU factorization of a tile without pivoting.
|
|
template<typename scalar_t > |
void | slate::tile::getrf_tntpiv_local (int64_t diag_len, int64_t ib, int stage, std::vector< Tile< scalar_t > > &tiles, std::vector< int64_t > &tile_indices, std::vector< std::vector< internal::AuxPivot< scalar_t > > > &aux_pivot, int mpi_rank, int thread_id, int thread_size, ThreadBarrier &thread_barrier, std::vector< scalar_t > &max_value, std::vector< int64_t > &max_index, std::vector< int64_t > &max_offset, std::vector< scalar_t > &top_block, int64_t *info) |
| Compute the LU factorization of a local panel, for use in CALU tournament pivoting.
|
|
template<typename scalar_t >
void slate::tile::getrf_tntpiv_local |
( |
int64_t |
diag_len, |
|
|
int64_t |
ib, |
|
|
int |
stage, |
|
|
std::vector< Tile< scalar_t > > & |
tiles, |
|
|
std::vector< int64_t > & |
tile_indices, |
|
|
std::vector< std::vector< internal::AuxPivot< scalar_t > > > & |
aux_pivot, |
|
|
int |
mpi_rank, |
|
|
int |
thread_id, |
|
|
int |
thread_size, |
|
|
ThreadBarrier & |
thread_barrier, |
|
|
std::vector< scalar_t > & |
max_value, |
|
|
std::vector< int64_t > & |
max_index, |
|
|
std::vector< int64_t > & |
max_offset, |
|
|
std::vector< scalar_t > & |
top_block, |
|
|
int64_t * |
info |
|
) |
| |
Compute the LU factorization of a local panel, for use in CALU tournament pivoting.
- Parameters
-
[in] | diag_len | length of the panel diagonal |
[in] | ib | internal blocking in the panel |
[in] | stage | stage of the tree reduction |
[in,out] | tiles | local tiles in the panel |
[in] | tile_indices | i indices of the tiles in the panel |
[in,out] | aux_pivot | pivots produced by the panel factorization, of dimension (2, mb). |
For stage == 0, aux_pivot[ 0 ][ 0:mb-1 ] is used.
For stage == 1, aux_pivot[ 0 ][ 0:mb-1 ] contains pivot info for tile 0, aux_pivot[ 1 ][ 0:mb-1 ] contains pivot info for tile 1.
- Parameters
-
[in] | mpi_rank | MPI rank in the panel factorization |
[in] | thread_id | ID of this thread |
[in] | thread_size | number of local threads |
[in] | thread_barrier | barrier for synchronizing local threads |
[out] | max_value | workspace for per-thread pivot value, of length thread_size. |
[out] | max_index | workspace for per-thread pivot index, of length thread_size. |
[out] | max_offset | workspace for per-thread pivot offset, of length thread_size. (pivot offset in the tile) |
[out] | top_block | workspace for broadcasting the top row for the geru operation and the top block for the gemm operation. |