SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
Functions | |
template<typename scalar_t > | |
void | slate::swapLocalRow (int64_t j_offset, int64_t n, Tile< scalar_t > &A, int64_t i1, Tile< scalar_t > &B, int64_t i2) |
Swap a partial row of two local tiles: A[ i1, j_offset : j_offset+n-1 ] and B[ i2, j_offset : j_offset+n-1 ]. | |
template<typename scalar_t > | |
void | slate::swapLocalRow (int64_t j_offset, int64_t n, Tile< scalar_t > &&A, int64_t i1, Tile< scalar_t > &&B, int64_t i2) |
Converts rvalue refs to lvalue refs. | |
template<typename scalar_t > | |
void | slate::swapRemoteRow (int64_t j, int64_t n, Tile< scalar_t > &A, int64_t i, int other_rank, MPI_Comm mpi_comm, int tag=0) |
Swap a partial row, A[ i, j : j+n-1 ], with another MPI process. | |
template<typename scalar_t > | |
void | slate::swapRemoteRow (int64_t j, int64_t n, Tile< scalar_t > &&A, int64_t i, int other_rank, MPI_Comm mpi_comm, int tag=0) |
Converts rvalue refs to lvalue refs. | |
template<typename scalar_t > | |
void | slate::swapRemoteRowDevice (int64_t j, int64_t n, int device, Tile< scalar_t > &A, int64_t i, int other_rank, MPI_Comm mpi_comm, blas::Queue &queue, int tag=0) |
Swap a partial row, A[ i, j : j+n-1 ], on a GPU device, with another MPI process. | |
template<typename scalar_t > | |
void | slate::swapRemoteRowDevice (int64_t j, int64_t n, int device, Tile< scalar_t > &&A, int64_t i, int other_rank, MPI_Comm mpi_comm, blas::Queue &queue, int tag=0) |
Converts rvalue refs to lvalue refs. | |
template<typename scalar_t > | |
void | slate::swapRemoteElement (Tile< scalar_t > &A, int64_t i, int64_t j, int other_rank, MPI_Comm mpi_comm, int tag=0) |
Swap one element, A(i, j), with another MPI process. | |
template<typename scalar_t > | |
void | slate::swapRemoteElement (Tile< scalar_t > &&A, int64_t i, int64_t j, int other_rank, MPI_Comm mpi_comm, int tag=0) |
Converts rvalue refs to lvalue refs. | |
void slate::swapLocalRow | ( | int64_t | j_offset, |
int64_t | n, | ||
Tile< scalar_t > & | A, | ||
int64_t | i1, | ||
Tile< scalar_t > & | B, | ||
int64_t | i2 | ||
) |
Swap a partial row of two local tiles: A[ i1, j_offset : j_offset+n-1 ] and B[ i2, j_offset : j_offset+n-1 ].
Either or both tiles can be transposed to swap columns.
void slate::swapRemoteRow | ( | int64_t | j, |
int64_t | n, | ||
Tile< scalar_t > & | A, | ||
int64_t | i, | ||
int | other_rank, | ||
MPI_Comm | mpi_comm, | ||
int | tag = 0 |
||
) |
Swap a partial row, A[ i, j : j+n-1 ], with another MPI process.
The tile can be transposed to swap a column.
void slate::swapRemoteRowDevice | ( | int64_t | j, |
int64_t | n, | ||
int | device, | ||
Tile< scalar_t > & | A, | ||
int64_t | i, | ||
int | other_rank, | ||
MPI_Comm | mpi_comm, | ||
blas::Queue & | queue, | ||
int | tag = 0 |
||
) |
Swap a partial row, A[ i, j : j+n-1 ], on a GPU device, with another MPI process.
The tile must be row-major, and cannot be transposed.