SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
Loading...
Searching...
No Matches

Functions

template<Target target = Target::HostTask, typename scalar_t >
void slate::internal::add (scalar_t alpha, Matrix< scalar_t > &&A, scalar_t beta, Matrix< scalar_t > &&B, int priority, int queue_index)
 General matrix add.
 
template<typename scalar_t >
void slate::internal::add (internal::TargetType< Target::HostTask >, scalar_t alpha, Matrix< scalar_t > &A, scalar_t beta, Matrix< scalar_t > &B, int priority, int queue_index)
 General matrix add.
 
template<typename scalar_t >
void slate::internal::add (internal::TargetType< Target::Devices >, scalar_t alpha, Matrix< scalar_t > &A, scalar_t beta, Matrix< scalar_t > &B, int priority, int queue_index)
 General matrix add.
 
template<Target target = Target::HostTask, typename scalar_t >
void slate::internal::add (scalar_t alpha, BaseTrapezoidMatrix< scalar_t > &&A, scalar_t beta, BaseTrapezoidMatrix< scalar_t > &&B, int priority, int queue_index)
 Trapezoidal matrix add.
 
template<typename scalar_t >
void slate::internal::add (internal::TargetType< Target::HostTask >, scalar_t alpha, BaseTrapezoidMatrix< scalar_t > &A, scalar_t beta, BaseTrapezoidMatrix< scalar_t > &B, int priority, int queue_index)
 Trapezoidal matrix add.
 
template<typename scalar_t >
void slate::internal::add (internal::TargetType< Target::Devices >, scalar_t alpha, BaseTrapezoidMatrix< scalar_t > &A, scalar_t beta, BaseTrapezoidMatrix< scalar_t > &B, int priority, int queue_index)
 Trapezoidal matrix add.
 

Detailed Description

Function Documentation

◆ add() [1/6]

template<typename scalar_t >
void slate::internal::add ( internal::TargetType< Target::Devices ,
scalar_t  alpha,
BaseTrapezoidMatrix< scalar_t > &  A,
scalar_t  beta,
BaseTrapezoidMatrix< scalar_t > &  B,
int  priority,
int  queue_index 
)

Trapezoidal matrix add.

assumes A & B have same tile layout and dimensions, and have same distribution TODO handle transpose A case GPU device implementation.

◆ add() [2/6]

template<typename scalar_t >
void slate::internal::add ( internal::TargetType< Target::Devices ,
scalar_t  alpha,
Matrix< scalar_t > &  A,
scalar_t  beta,
Matrix< scalar_t > &  B,
int  priority,
int  queue_index 
)

General matrix add.

assumes A & B have same tile layout and dimensions, and have same distribution TODO handle transpose A case GPU device implementation.

todo: this function should just be named "add".

◆ add() [3/6]

template<typename scalar_t >
void slate::internal::add ( internal::TargetType< Target::HostTask ,
scalar_t  alpha,
BaseTrapezoidMatrix< scalar_t > &  A,
scalar_t  beta,
BaseTrapezoidMatrix< scalar_t > &  B,
int  priority,
int  queue_index 
)

Trapezoidal matrix add.

assumes A & B have same tile layout and dimensions, and have same distribution TODO handle transpose A case Host OpenMP task implementation.

◆ add() [4/6]

template<typename scalar_t >
void slate::internal::add ( internal::TargetType< Target::HostTask ,
scalar_t  alpha,
Matrix< scalar_t > &  A,
scalar_t  beta,
Matrix< scalar_t > &  B,
int  priority,
int  queue_index 
)

General matrix add.

assumes A & B have same tile layout and dimensions, and have same distribution TODO handle transpose A case Host OpenMP task implementation.

todo: this function should just be named "add".

◆ add() [5/6]

template<Target target = Target::HostTask, typename scalar_t >
void slate::internal::add ( scalar_t  alpha,
BaseTrapezoidMatrix< scalar_t > &&  A,
scalar_t  beta,
BaseTrapezoidMatrix< scalar_t > &&  B,
int  priority,
int  queue_index 
)

Trapezoidal matrix add.

Dispatches to target implementations.

◆ add() [6/6]

template<Target target = Target::HostTask, typename scalar_t >
void slate::internal::add ( scalar_t  alpha,
Matrix< scalar_t > &&  A,
scalar_t  beta,
Matrix< scalar_t > &&  B,
int  priority,
int  queue_index 
)

General matrix add.

Dispatches to target implementations.

todo: this function should just be named "add".