SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
Functions | |
template<Target target = Target::HostTask, typename scalar_t > | |
void | slate::internal::copyhb2st (HermitianBandMatrix< scalar_t > &A, std::vector< blas::real_type< scalar_t > > &D, std::vector< blas::real_type< scalar_t > > &E) |
Copy tri-diagonal HermitianBand matrix to two vectors. | |
template<typename scalar_t > | |
void | slate::internal::copyhb2st (internal::TargetType< Target::HostTask >, HermitianBandMatrix< scalar_t > A, std::vector< blas::real_type< scalar_t > > &D, std::vector< blas::real_type< scalar_t > > &E) |
Copy tri-diagonal HermitianBand matrix to two vectors. | |
template<Target target = Target::HostTask, typename scalar_t > | |
void | slate::internal::copytb2bd (TriangularBandMatrix< scalar_t > &A, std::vector< blas::real_type< scalar_t > > &D, std::vector< blas::real_type< scalar_t > > &E) |
Copy bi-diagonal TriangularBand matrix to two vectors. | |
template<typename scalar_t > | |
void | slate::internal::copytb2bd (internal::TargetType< Target::HostTask >, TriangularBandMatrix< scalar_t > A, std::vector< blas::real_type< scalar_t > > &D, std::vector< blas::real_type< scalar_t > > &E) |
Copy bi-diagonal TriangularBand matrix to two vectors. | |
template<Target target = Target::HostTask, typename src_scalar_t , typename dst_scalar_t > | |
void | slate::internal::copy (Matrix< src_scalar_t > &&A, Matrix< dst_scalar_t > &&B, int priority, int queue_index) |
Copy and precision conversion. | |
template<typename src_scalar_t , typename dst_scalar_t > | |
void | slate::internal::copy (internal::TargetType< Target::HostTask >, Matrix< src_scalar_t > &A, Matrix< dst_scalar_t > &B, int priority, int queue_index) |
Copy and precision conversion. | |
template<typename src_scalar_t , typename dst_scalar_t > | |
void | slate::internal::copy (internal::TargetType< Target::Devices >, Matrix< src_scalar_t > &A, Matrix< dst_scalar_t > &B, int priority, int queue_index) |
Copy and precision conversion. | |
template<Target target = Target::HostTask, typename src_scalar_t , typename dst_scalar_t > | |
void | slate::internal::copy (BaseTrapezoidMatrix< src_scalar_t > &&A, BaseTrapezoidMatrix< dst_scalar_t > &&B, int priority, int queue_index) |
Copy and precision conversion. | |
template<typename src_scalar_t , typename dst_scalar_t > | |
void | slate::internal::copy (internal::TargetType< Target::HostTask >, BaseTrapezoidMatrix< src_scalar_t > &A, BaseTrapezoidMatrix< dst_scalar_t > &B, int priority, int queue_index) |
Copy and precision conversion. | |
template<typename src_scalar_t , typename dst_scalar_t > | |
void | slate::internal::copy (internal::TargetType< Target::Devices >, BaseTrapezoidMatrix< src_scalar_t > &A, BaseTrapezoidMatrix< dst_scalar_t > &B, int priority, int queue_index) |
Copy and precision conversion. | |
template<typename scalar_t > | |
void | slate::redistribute (Matrix< scalar_t > &A, Matrix< scalar_t > &B, Options const &opts) |
Redistribute a matrix A from one distribution into matrix B with another distribution. | |
void slate::internal::copy | ( | BaseTrapezoidMatrix< src_scalar_t > && | A, |
BaseTrapezoidMatrix< dst_scalar_t > && | B, | ||
int | priority, | ||
int | queue_index | ||
) |
Copy and precision conversion.
Dispatches to target implementations.
void slate::internal::copy | ( | internal::TargetType< Target::Devices > | , |
BaseTrapezoidMatrix< src_scalar_t > & | A, | ||
BaseTrapezoidMatrix< dst_scalar_t > & | B, | ||
int | priority, | ||
int | queue_index | ||
) |
Copy and precision conversion.
assumes A & B have same tile layout and dimensions, and have same distribution TODO: Inspect transposition? GPU device implementation.
void slate::internal::copy | ( | internal::TargetType< Target::Devices > | , |
Matrix< src_scalar_t > & | A, | ||
Matrix< dst_scalar_t > & | B, | ||
int | priority, | ||
int | queue_index | ||
) |
Copy and precision conversion.
Assumes A & B have same tile layout, dimensions, and distribution. TODO: Inspect transposition? GPU device implementation.
void slate::internal::copy | ( | internal::TargetType< Target::HostTask > | , |
BaseTrapezoidMatrix< src_scalar_t > & | A, | ||
BaseTrapezoidMatrix< dst_scalar_t > & | B, | ||
int | priority, | ||
int | queue_index | ||
) |
Copy and precision conversion.
assumes A & B have same tile layout and dimensions, and have same distribution TODO handle transpose A case Host OpenMP task implementation.
void slate::internal::copy | ( | internal::TargetType< Target::HostTask > | , |
Matrix< src_scalar_t > & | A, | ||
Matrix< dst_scalar_t > & | B, | ||
int | priority, | ||
int | queue_index | ||
) |
Copy and precision conversion.
assumes A & B have same tile layout and dimensions, and have same distribution TODO handle transpose A case Host OpenMP task implementation.
void slate::internal::copy | ( | Matrix< src_scalar_t > && | A, |
Matrix< dst_scalar_t > && | B, | ||
int | priority, | ||
int | queue_index | ||
) |
Copy and precision conversion.
Dispatches to target implementations.
void slate::internal::copyhb2st | ( | HermitianBandMatrix< scalar_t > & | A, |
std::vector< blas::real_type< scalar_t > > & | D, | ||
std::vector< blas::real_type< scalar_t > > & | E | ||
) |
Copy tri-diagonal HermitianBand matrix to two vectors.
Dispatches to target implementations.
void slate::internal::copyhb2st | ( | internal::TargetType< Target::HostTask > | , |
HermitianBandMatrix< scalar_t > | A, | ||
std::vector< blas::real_type< scalar_t > > & | D, | ||
std::vector< blas::real_type< scalar_t > > & | E | ||
) |
Copy tri-diagonal HermitianBand matrix to two vectors.
Host OpenMP task implementation.
void slate::internal::copytb2bd | ( | internal::TargetType< Target::HostTask > | , |
TriangularBandMatrix< scalar_t > | A, | ||
std::vector< blas::real_type< scalar_t > > & | D, | ||
std::vector< blas::real_type< scalar_t > > & | E | ||
) |
Copy bi-diagonal TriangularBand matrix to two vectors.
Host OpenMP task implementation.
void slate::internal::copytb2bd | ( | TriangularBandMatrix< scalar_t > & | A, |
std::vector< blas::real_type< scalar_t > > & | D, | ||
std::vector< blas::real_type< scalar_t > > & | E | ||
) |
Copy bi-diagonal TriangularBand matrix to two vectors.
Dispatches to target implementations.