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::norm (Norm in_norm, NormScope scope, BandMatrix< scalar_t > &&A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General banded matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostTask >, Norm in_norm, NormScope scope, BandMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General banded matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostNest >, Norm in_norm, NormScope scope, BandMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General banded matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::Devices >, Norm in_norm, NormScope scope, BandMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General banded matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostTask >, Norm in_norm, NormScope scope, Matrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostNest >, Norm in_norm, NormScope scope, Matrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::Devices >, Norm in_norm, NormScope scope, Matrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostTask >, Norm in_norm, NormScope scope, HermitianBandMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Hermitian matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostNest >, Norm in_norm, NormScope scope, HermitianBandMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Hermitian banded matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::Devices >, Norm in_norm, NormScope scope, HermitianBandMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Hermitian banded matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostTask >, Norm in_norm, NormScope scope, HermitianMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Hermitian matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostNest >, Norm in_norm, NormScope scope, HermitianMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Hermitian matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::Devices >, Norm in_norm, NormScope scope, HermitianMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Hermitian matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostTask >, Norm in_norm, NormScope scope, SymmetricMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Symmetric matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostNest >, Norm in_norm, NormScope scope, SymmetricMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Symmetric matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::Devices >, Norm in_norm, NormScope scope, SymmetricMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Symmetric matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostTask >, Norm in_norm, NormScope scope, TrapezoidMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::HostNest >, Norm in_norm, NormScope scope, TrapezoidMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 General matrix norm.
 
template<typename scalar_t >
void slate::internal::norm (internal::TargetType< Target::Devices >, Norm in_norm, NormScope scope, TrapezoidMatrix< scalar_t > &A, blas::real_type< scalar_t > *values, int priority, int queue_index)
 Trapezoid and triangular matrix norm.
 

Detailed Description

Function Documentation

◆ norm() [1/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::Devices ,
Norm  in_norm,
NormScope  scope,
BandMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General banded matrix norm.

GPU device implementation. TODO

◆ norm() [2/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::Devices ,
Norm  in_norm,
NormScope  scope,
HermitianBandMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Hermitian banded matrix norm.

GPU device implementation.

◆ norm() [3/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::Devices ,
Norm  in_norm,
NormScope  scope,
HermitianMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Hermitian matrix norm.

GPU device implementation.

◆ norm() [4/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::Devices ,
Norm  in_norm,
NormScope  scope,
Matrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General matrix norm.

GPU device implementation.

◆ norm() [5/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::Devices ,
Norm  in_norm,
NormScope  scope,
SymmetricMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Symmetric matrix norm.

GPU device implementation.

◆ norm() [6/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::Devices ,
Norm  in_norm,
NormScope  scope,
TrapezoidMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Trapezoid and triangular matrix norm.

GPU device implementation.

◆ norm() [7/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostNest ,
Norm  in_norm,
NormScope  scope,
BandMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General banded matrix norm.

Host nested OpenMP implementation. TODO: currently, this does only max norm.

◆ norm() [8/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostNest ,
Norm  in_norm,
NormScope  scope,
HermitianBandMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Hermitian banded matrix norm.

Host nested OpenMP implementation.

◆ norm() [9/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostNest ,
Norm  in_norm,
NormScope  scope,
HermitianMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Hermitian matrix norm.

Host nested OpenMP implementation.

◆ norm() [10/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostNest ,
Norm  in_norm,
NormScope  scope,
Matrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General matrix norm.

Host nested OpenMP implementation. TODO: currently, this does only max norm.

◆ norm() [11/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostNest ,
Norm  in_norm,
NormScope  scope,
SymmetricMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Symmetric matrix norm.

Host nested OpenMP implementation.

◆ norm() [12/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostNest ,
Norm  in_norm,
NormScope  scope,
TrapezoidMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General matrix norm.

Host nested OpenMP implementation.

◆ norm() [13/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostTask ,
Norm  in_norm,
NormScope  scope,
BandMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General banded matrix norm.

Host OpenMP task implementation.

◆ norm() [14/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostTask ,
Norm  in_norm,
NormScope  scope,
HermitianBandMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Hermitian matrix norm.

Host OpenMP task implementation.

◆ norm() [15/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostTask ,
Norm  in_norm,
NormScope  scope,
HermitianMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Hermitian matrix norm.

Host OpenMP task implementation.

◆ norm() [16/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostTask ,
Norm  in_norm,
NormScope  scope,
Matrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General matrix norm.

Host OpenMP task implementation.

◆ norm() [17/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostTask ,
Norm  in_norm,
NormScope  scope,
SymmetricMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

Symmetric matrix norm.

Host OpenMP task implementation.

◆ norm() [18/19]

template<typename scalar_t >
void slate::internal::norm ( internal::TargetType< Target::HostTask ,
Norm  in_norm,
NormScope  scope,
TrapezoidMatrix< scalar_t > &  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General matrix norm.

Host OpenMP task implementation.

◆ norm() [19/19]

template<Target target = Target::HostTask, typename scalar_t >
void slate::internal::norm ( Norm  in_norm,
NormScope  scope,
BandMatrix< scalar_t > &&  A,
blas::real_type< scalar_t > *  values,
int  priority,
int  queue_index 
)

General banded matrix norm.

Dispatches to target implementations.

Parameters
[in]in_norm
  • Norm::Max: values is dimension 1 and contains the local max.
  • Norm::One: values is dimension n and contains the local column sum.
  • Norm::Inf: values is dimension m and contains the local row sum.
  • Norm::Fro: values is dimension 2 and contains the local scale and sum-of-squares.