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