batchlas::sycl_geqrf Namespace Reference

Functions

◆ geqrf_cta_max_m_for_slm()

template<typename T>
BATCHLAS_INTERNAL_API int batchlas::sycl_geqrf::geqrf_cta_max_m_for_slm ( std::size_t slm_budget_bytes,
int min_blocks_per_sm = kGeqrfMinBlocksPerSm )

◆ geqrf_cta_max_elems_for_slm()

template<typename T>
BATCHLAS_INTERNAL_API int64_t batchlas::sycl_geqrf::geqrf_cta_max_elems_for_slm ( std::size_t slm_budget_bytes,
int min_blocks_per_sm = kGeqrfMinBlocksPerSm )

◆ geqrf_blocked_available()

template<typename T>
BATCHLAS_INTERNAL_API bool batchlas::sycl_geqrf::geqrf_blocked_available ( )

◆ geqrf_tiny_max_n_for_slm()

template<typename T>
BATCHLAS_INTERNAL_API int batchlas::sycl_geqrf::geqrf_tiny_max_n_for_slm ( std::size_t slm_budget_bytes)

◆ geqrf_tiny_buffer_size()

template<typename T>
BATCHLAS_INTERNAL_API std::size_t batchlas::sycl_geqrf::geqrf_tiny_buffer_size ( Queue & ctx,
const MatrixView< T, MatrixFormat::Dense > & A )

◆ geqrf_tiny_debug_launch()

template<typename T>
BATCHLAS_INTERNAL_API unsigned batchlas::sycl_geqrf::geqrf_tiny_debug_launch ( Queue & ctx,
int n )

◆ geqrf_tiny_dispatch()

template<typename T>
BATCHLAS_INTERNAL_API Event batchlas::sycl_geqrf::geqrf_tiny_dispatch ( Queue & ctx,
const MatrixView< T, MatrixFormat::Dense > & A,
Span< T > tau,
Span< std::byte > workspace )

◆ geqrf_cta_buffer_size()

template<typename T>
BATCHLAS_INTERNAL_API std::size_t batchlas::sycl_geqrf::geqrf_cta_buffer_size ( Queue & ctx,
const MatrixView< T, MatrixFormat::Dense > & A )

◆ geqrf_blocked_buffer_size()

template<typename T>
BATCHLAS_INTERNAL_API std::size_t batchlas::sycl_geqrf::geqrf_blocked_buffer_size ( Queue & ctx,
const MatrixView< T, MatrixFormat::Dense > & A )

◆ geqrf_blocked_debug_params()

template<typename T>
BATCHLAS_INTERNAL_API unsigned batchlas::sycl_geqrf::geqrf_blocked_debug_params ( Queue & ctx,
int m,
int n )

◆ geqrf_panel_reg_cols()

template<typename T>
BATCHLAS_INTERNAL_API int batchlas::sycl_geqrf::geqrf_panel_reg_cols ( )

◆ geqrf_panel_reg_max_m()

template<typename T>
BATCHLAS_INTERNAL_API int batchlas::sycl_geqrf::geqrf_panel_reg_max_m ( )

◆ geqrf_panel_reg_fits()

template<typename T>
BATCHLAS_INTERNAL_API bool batchlas::sycl_geqrf::geqrf_panel_reg_fits ( int m,
int n,
int device_max_wg = 1024 )

◆ geqrf_panel_reg_preferred()

template<typename T>
BATCHLAS_INTERNAL_API bool batchlas::sycl_geqrf::geqrf_panel_reg_preferred ( int m,
int n,
int device_max_wg = 1024 )

◆ geqrf_panel_reg_debug_launch()

template<typename T>
BATCHLAS_INTERNAL_API unsigned batchlas::sycl_geqrf::geqrf_panel_reg_debug_launch ( Queue & ctx,
int m,
int n )

◆ geqrf_cta_dispatch()

template<typename T>
BATCHLAS_INTERNAL_API Event batchlas::sycl_geqrf::geqrf_cta_dispatch ( Queue & ctx,
const MatrixView< T, MatrixFormat::Dense > & A,
Span< T > tau,
Span< std::byte > workspace )

◆ geqrf_blocked_dispatch()

template<typename T>
BATCHLAS_INTERNAL_API Event batchlas::sycl_geqrf::geqrf_blocked_dispatch ( Queue & ctx,
const MatrixView< T, MatrixFormat::Dense > & A,
Span< T > tau,
Span< std::byte > workspace,
GeqrfTrailingGemm< T > trailing_gemm,
GeqrfPanelLeaf panel_leaf = GeqrfPanelLeaf::Auto )

◆ geqrf_panel_factorize()

template<typename T>
Event batchlas::sycl_geqrf::geqrf_panel_factorize ( Queue & ctx,
T * a_ptr,
int ld,
int stride,
int m,
int n,
int batch,
T * tau_ptr,
int tau_batch_stride,
int tau_offset,
bool * used_resident_out = nullptr,
GeqrfPanelLeaf leaf = GeqrfPanelLeaf::Auto,
GeqrfPanelLeaf * leaf_used_out = nullptr )

◆ geqrf_cta_fits()

template<typename T>
BATCHLAS_INTERNAL_API bool batchlas::sycl_geqrf::geqrf_cta_fits ( int m,
int n,
std::size_t slm_budget_bytes,
int min_blocks_per_sm = kGeqrfMinBlocksPerSm )

◆ geqrf_leaf_fits()

template<typename T>
BATCHLAS_INTERNAL_API bool batchlas::sycl_geqrf::geqrf_leaf_fits ( int m,
int n,
std::size_t slm_budget_bytes )

Types

◆ GeqrfTrailingGemm

template<typename T>
using batchlas::sycl_geqrf::GeqrfTrailingGemm
Initial value:
std::function<Event(
Non-owning view of a batch of matrices: the argument type of every entry point.
Definition matrix.hh:485
Transpose
The operator op() applied to an operand: op(A) = A, A^T or A^H.
Definition enums.hh:171
ComputePrecision
Internal compute precision of a GEMM (the cuBLAS cublasComputeType_t).
Definition enums.hh:505
Event()
An empty Event, already complete.
Where BatchLAS work runs: a device, a backend, an ordered SYCL queue and a workspace arena.

Definition at line 91 of file geqrf_native.hh.

Enumerations

◆ GeqrfPanelLeaf

enum class batchlas::sycl_geqrf::GeqrfPanelLeaf : int
strong
Enumerator
Auto 
Resident 
Global 
Register 

Definition at line 70 of file geqrf_native.hh.

Variables

◆ kGeqrfMinBlocksPerSm

int batchlas::sycl_geqrf::kGeqrfMinBlocksPerSm = 2
inlineconstexpr

Definition at line 22 of file geqrf_native.hh.