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

Enumerations

enum class  slate::Target : char {
  slate::Target::Host = 'H' , slate::Target::HostTask = 'T' , slate::Target::HostNest = 'N' , slate::Target::HostBatch = 'B' ,
  slate::Target::Devices = 'D'
}
 Location and method of computation. More...
 
enum class  slate::Option : char {
  slate::Option::ChunkSize , slate::Option::Lookahead , slate::Option::BlockSize , slate::Option::InnerBlocking ,
  slate::Option::MaxPanelThreads , slate::Option::Tolerance , slate::Option::Target , slate::Option::HoldLocalWorkspace ,
  slate::Option::Depth , slate::Option::MaxIterations , slate::Option::UseFallbackSolver , slate::Option::PivotThreshold ,
  slate::Option::PrintVerbose = 50 , slate::Option::PrintEdgeItems , slate::Option::PrintWidth , slate::Option::PrintPrecision ,
  slate::Option::MethodCholQR = 60 , slate::Option::MethodEig , slate::Option::MethodGels , slate::Option::MethodGemm ,
  slate::Option::MethodHemm , slate::Option::MethodLU , slate::Option::MethodTrsm , slate::Option::MethodSVD
}
 Keys for options to pass to SLATE routines. More...
 
enum class  slate::LayoutConvert : char { slate::LayoutConvert::ColMajor = 'C' , slate::LayoutConvert::RowMajor = 'R' , slate::LayoutConvert::None = 'N' }
 To convert matrix between column-major and row-major. More...
 
enum class  slate::NormScope : char { slate::NormScope::Columns = 'C' , slate::NormScope::Rows = 'R' , slate::NormScope::Matrix = 'M' }
 Whether computing matrix norm, column norms, or row norms. More...
 
enum class  slate::GridOrder : char { slate::GridOrder::Col = 'C' , slate::GridOrder::Row = 'R' , slate::GridOrder::Unknown = 'U' }
 Order to map MPI processes to tile grid. More...
 
enum class  slate::TileKind : char { slate::TileKind::Workspace = 'w' , slate::TileKind::SlateOwned = 'o' , slate::TileKind::UserOwned = 'u' }
 Whether a tile is workspace or origin (local non-workspace), and who owns (allocated, deallocates) the data. More...
 

Variables

const int slate::MinOmpActiveLevels = 4
 Minimum number of OpenMP active parallel levels to allow multi-threaded panel implementation.
 

Detailed Description



Enumeration Type Documentation

◆ GridOrder

enum class slate::GridOrder : char
strong

Order to map MPI processes to tile grid.

Enumerator
Col 

Column major.

Row 

Row major.

Unknown 

Unknown (e.g., if using lambda functions)

◆ LayoutConvert

enum class slate::LayoutConvert : char
strong

To convert matrix between column-major and row-major.

Enumerator
ColMajor 

Convert to column-major.

RowMajor 

Convert to row-major.

None 

No conversion.

◆ NormScope

enum class slate::NormScope : char
strong

Whether computing matrix norm, column norms, or row norms.

Enumerator
Columns 

Compute column norms.

Rows 

Compute row norms.

Matrix 

Compute matrix norm.

◆ Option

enum class slate::Option : char
strong

Keys for options to pass to SLATE routines.

Enumerator
ChunkSize 

chunk size, >= 1

Lookahead 

lookahead depth, >= 0

BlockSize 

block size, >= 1

InnerBlocking 

inner blocking size, >= 1

MaxPanelThreads 

max number of threads for panel, >= 1

Tolerance 

tolerance for iterative methods, default epsilon

Target 

computation method (

See also
Target)
HoldLocalWorkspace 

do not erase local workspace tiles for enabling resue of the tiles by the next routine

Depth 

depth for the RBT solver

MaxIterations 

maximum iteration count

UseFallbackSolver 

whether to fallback to a robust solver if iterations do not converge

PivotThreshold 

threshold for pivoting, >= 0, <= 1

PrintVerbose 

verbose, 0: no printing, verbose, 1: print metadata only (dimensions, uplo, etc.) verbose, 2: print first & last PrintEdgeItems rows & cols from the four corner tiles verbose, 3: print 4 corner elements of every tile verbose, 4: print full matrix

PrintEdgeItems 

edgeitems: number of first & last rows & cols of matrix to print

PrintWidth 

width print format specifier

PrintPrecision 

precision print format specifier For correct printing, PrintWidth = PrintPrecision + 6.

MethodCholQR 

Select the algorithm to compute A^H A.

MethodEig 

Select the algorithm to compute eigenpairs of tridiagonal matrix.

MethodGels 

Select the gels algorithm.

MethodGemm 

Select the gemm algorithm.

MethodHemm 

Select the hemm algorithm.

MethodLU 

Select the LU (getrf) algorithm.

MethodTrsm 

Select the trsm algorithm.

MethodSVD 

Select the algorithm to compute singular values of bidiagonal matrix.

◆ Target

enum class slate::Target : char
strong

Location and method of computation.

Enumerator
Host 

data resides on host

HostTask 

computation using OpenMP nested tasks on host

HostNest 

computation using OpenMP nested parallel for loops on host

HostBatch 

computation using batch BLAS on host (Intel MKL)

Devices 

computation using batch BLAS on devices (cuBLAS)

◆ TileKind

enum class slate::TileKind : char
strong

Whether a tile is workspace or origin (local non-workspace), and who owns (allocated, deallocates) the data.

Enumerator
Workspace 

SLATE allocated workspace tile.

SlateOwned 

SLATE allocated origin tile.

UserOwned 

User owned origin tile.