SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
Functions | |
template<Target target = Target::HostTask, typename scalar_t > | |
void | slate::internal::syrk (scalar_t alpha, Matrix< scalar_t > &&A, scalar_t beta, SymmetricMatrix< scalar_t > &&C, int priority, int queue_index, Layout layout) |
Symmetric rank-k update of single block column (i.e., k = nb). | |
template<typename scalar_t > | |
void | slate::internal::syrk (internal::TargetType< Target::HostTask >, scalar_t alpha, Matrix< scalar_t > &A, scalar_t beta, SymmetricMatrix< scalar_t > &C, int priority, int queue_index, Layout layout) |
Symmetric rank-k update of single block column (i.e., k = nb). | |
template<typename scalar_t > | |
void | slate::internal::syrk (internal::TargetType< Target::HostNest >, scalar_t alpha, Matrix< scalar_t > &A, scalar_t beta, SymmetricMatrix< scalar_t > &C, int priority, int queue_index, Layout layout) |
Symmetric rank-k update of single block column (i.e., k = nb). | |
template<typename scalar_t > | |
void | slate::internal::syrk (internal::TargetType< Target::HostBatch >, scalar_t alpha, Matrix< scalar_t > &A, scalar_t beta, SymmetricMatrix< scalar_t > &C, int priority, int queue_index, Layout layout) |
Symmetric rank-k update of single block column (i.e., k = nb). | |
template<typename scalar_t > | |
void | slate::internal::syrk (internal::TargetType< Target::Devices >, scalar_t alpha, Matrix< scalar_t > &A, scalar_t beta, SymmetricMatrix< scalar_t > &C, int priority, int queue_index, Layout layout) |
Symmetric rank-k update of single block column (i.e., k = nb). | |
void slate::internal::syrk | ( | internal::TargetType< Target::Devices > | , |
scalar_t | alpha, | ||
Matrix< scalar_t > & | A, | ||
scalar_t | beta, | ||
SymmetricMatrix< scalar_t > & | C, | ||
int | priority, | ||
int | queue_index, | ||
Layout | layout | ||
) |
Symmetric rank-k update of single block column (i.e., k = nb).
GPU device batched cuBLAS implementation. Assumes A is NoTrans or Trans; C is Lower, NoTrans or Upper, Trans.
void slate::internal::syrk | ( | internal::TargetType< Target::HostBatch > | , |
scalar_t | alpha, | ||
Matrix< scalar_t > & | A, | ||
scalar_t | beta, | ||
SymmetricMatrix< scalar_t > & | C, | ||
int | priority, | ||
int | queue_index, | ||
Layout | layout | ||
) |
Symmetric rank-k update of single block column (i.e., k = nb).
Host batched implementation. Assumes A is NoTrans or Trans; C is Lower, NoTrans or Upper, Trans.
void slate::internal::syrk | ( | internal::TargetType< Target::HostNest > | , |
scalar_t | alpha, | ||
Matrix< scalar_t > & | A, | ||
scalar_t | beta, | ||
SymmetricMatrix< scalar_t > & | C, | ||
int | priority, | ||
int | queue_index, | ||
Layout | layout | ||
) |
Symmetric rank-k update of single block column (i.e., k = nb).
Host nested OpenMP implementation. Assumes A is NoTrans or Trans; C is Lower, NoTrans or Upper, Trans.
void slate::internal::syrk | ( | internal::TargetType< Target::HostTask > | , |
scalar_t | alpha, | ||
Matrix< scalar_t > & | A, | ||
scalar_t | beta, | ||
SymmetricMatrix< scalar_t > & | C, | ||
int | priority, | ||
int | queue_index, | ||
Layout | layout | ||
) |
Symmetric rank-k update of single block column (i.e., k = nb).
Host OpenMP task implementation. Assumes A is NoTrans or Trans; C is Lower, NoTrans or Upper, Trans.
void slate::internal::syrk | ( | scalar_t | alpha, |
Matrix< scalar_t > && | A, | ||
scalar_t | beta, | ||
SymmetricMatrix< scalar_t > && | C, | ||
int | priority, | ||
int | queue_index, | ||
Layout | layout | ||
) |
Symmetric rank-k update of single block column (i.e., k = nb).
Dispatches to target implementations. C is Lower, NoTrans or Upper, Trans/ConjTrans. In complex case, A and C cannot be ConjTrans.