batchlas::device::detail Namespace Reference

Functions

◆ item_local_linear_id()

template<NdItemLike Item>
int batchlas::device::detail::item_local_linear_id ( const Item & item)
inlineconstexpr

Definition at line 246 of file group_blas_common.hh.

◆ item_local_linear_range()

template<NdItemLike Item>
int batchlas::device::detail::item_local_linear_range ( const Item & item)
inlineconstexpr

Definition at line 251 of file group_blas_common.hh.

◆ workspace_ptr_cast()

template<typename Workspace, typename T>
Workspace * batchlas::device::detail::workspace_ptr_cast ( T * workspace)
inlineconstexpr

Definition at line 259 of file group_blas_common.hh.

◆ reduce_sum_group() [1/2]

template<typename Group, typename T>
T batchlas::device::detail::reduce_sum_group ( const Group & group,
const T & value )
inlineconstexpr

Definition at line 265 of file group_blas_common.hh.

◆ reduce_sum_group() [2/2]

template<NdItemLike Item, typename T>
T batchlas::device::detail::reduce_sum_group ( const Item & item,
const T & value )
inlineconstexpr

Definition at line 277 of file group_blas_common.hh.

◆ conj()

template<typename T>
T batchlas::device::detail::conj ( const T & value)
inlineconstexpr

Definition at line 282 of file group_blas_common.hh.

◆ group_local_linear_id() [1/2]

template<typename Group>
int batchlas::device::detail::group_local_linear_id ( const Group & group)
inlineconstexpr

Definition at line 291 of file group_blas_common.hh.

◆ group_local_linear_id() [2/2]

template<NdItemLike Item>
int batchlas::device::detail::group_local_linear_id ( const Item & item)
inlineconstexpr

Definition at line 296 of file group_blas_common.hh.

◆ group_local_linear_range() [1/3]

template<typename Group>
int batchlas::device::detail::group_local_linear_range ( const Group & group)
inlineconstexpr

Definition at line 301 of file group_blas_common.hh.

◆ group_local_linear_range() [2/3]

template<NdItemLike Item>
int batchlas::device::detail::group_local_linear_range ( const Item & item)
inlineconstexpr

Definition at line 306 of file group_blas_common.hh.

◆ group_local_linear_range() [3/3]

int batchlas::device::detail::group_local_linear_range ( const DeviceBlasLaunchInfo & launch)
inlineconstexpr

Definition at line 310 of file group_blas_common.hh.

◆ group_is_leader()

template<typename Group>
bool batchlas::device::detail::group_is_leader ( const Group & group)
inlineconstexpr

Definition at line 315 of file group_blas_common.hh.

◆ maybe_conjugate()

template<typename T>
T batchlas::device::detail::maybe_conjugate ( const T & value,
bool conjugate )
inlineconstexpr

Definition at line 329 of file group_blas_common.hh.

◆ views_overlap() [1/2]

template<typename T>
bool batchlas::device::detail::views_overlap ( const VectorView< T > & lhs,
const VectorView< T > & rhs )
inlineconstexpr

Definition at line 334 of file group_blas_common.hh.

◆ views_overlap() [2/2]

template<typename T>
bool batchlas::device::detail::views_overlap ( const KernelMatrixView< T, MatrixFormat::Dense > & lhs,
const KernelMatrixView< T, MatrixFormat::Dense > & rhs )
inlineconstexpr

Definition at line 356 of file group_blas_common.hh.

◆ matrix_entry() [1/2]

template<typename T>
T batchlas::device::detail::matrix_entry ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
int row,
int col,
Transpose trans )
inlineconstexpr

Definition at line 378 of file group_blas_common.hh.

◆ matrix_entry() [2/2]

template<Transpose TransV, typename T>
T batchlas::device::detail::matrix_entry ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
int row,
int col )
inlineconstexpr

Definition at line 392 of file group_blas_common.hh.

◆ input_size() [1/3]

template<typename T>
int batchlas::device::detail::input_size ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
Transpose trans )
inlineconstexpr

Definition at line 405 of file group_blas_common.hh.

◆ input_size() [2/3]

int batchlas::device::detail::input_size ( int rows,
int cols,
Transpose trans )
inlineconstexpr

Definition at line 409 of file group_blas_common.hh.

◆ input_size() [3/3]

template<Transpose TransV, typename T>
int batchlas::device::detail::input_size ( const KernelMatrixView< T, MatrixFormat::Dense > & a)
inlineconstexpr

Definition at line 414 of file group_blas_common.hh.

◆ output_size() [1/3]

template<typename T>
int batchlas::device::detail::output_size ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
Transpose trans )
inlineconstexpr

Definition at line 423 of file group_blas_common.hh.

◆ output_size() [2/3]

int batchlas::device::detail::output_size ( int rows,
int cols,
Transpose trans )
inlineconstexpr

Definition at line 427 of file group_blas_common.hh.

◆ output_size() [3/3]

template<Transpose TransV, typename T>
int batchlas::device::detail::output_size ( const KernelMatrixView< T, MatrixFormat::Dense > & a)
inlineconstexpr

Definition at line 432 of file group_blas_common.hh.

◆ validate_single_problem()

template<typename T>
void batchlas::device::detail::validate_single_problem ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
Transpose trans )
inlineconstexpr

Definition at line 441 of file group_blas_common.hh.

◆ validate_operand()

template<typename T>
void batchlas::device::detail::validate_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const MatrixVectorOperand< T > & operand,
Transpose trans )
inlineconstexpr

Definition at line 448 of file group_blas_common.hh.

◆ validate_gemm_operand()

template<typename T>
void batchlas::device::detail::validate_gemm_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const MatrixMatrixOperand< T > & operand,
GeneralMatrixTransform transform )
inlineconstexpr

Definition at line 459 of file group_blas_common.hh.

◆ validate_triangular_operand() [1/2]

template<typename T>
void batchlas::device::detail::validate_triangular_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const MatrixVectorOperand< T > & operand,
TriangularTransform transform )
inlineconstexpr

Definition at line 477 of file group_blas_common.hh.

◆ validate_symmetric_operand() [1/2]

template<typename T>
void batchlas::device::detail::validate_symmetric_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const MatrixVectorOperand< T > & operand,
SymmetricTransform transform )
inlineconstexpr

Definition at line 490 of file group_blas_common.hh.

◆ validate_triangular_operand() [2/2]

template<typename T>
void batchlas::device::detail::validate_triangular_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const MatrixMatrixOperand< T > & operand,
TriangularTransform transform )
inlineconstexpr

Definition at line 503 of file group_blas_common.hh.

◆ validate_symmetric_operand() [2/2]

template<typename T>
void batchlas::device::detail::validate_symmetric_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const MatrixMatrixOperand< T > & operand,
SymmetricTransform transform )
inlineconstexpr

Definition at line 520 of file group_blas_common.hh.

◆ validate_rank1_operand()

template<typename T>
void batchlas::device::detail::validate_rank1_operand ( const VectorView< T > & x,
const Rank1UpdateOperand< T > & operand )
inlineconstexpr

Definition at line 537 of file group_blas_common.hh.

◆ validate_rank2k_operand()

template<typename T>
void batchlas::device::detail::validate_rank2k_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const MatrixMatrixOperand< T > & operand,
SymmetricRank2kTransform transform )
inlineconstexpr

Definition at line 547 of file group_blas_common.hh.

◆ validate_rankk_operand()

template<typename T>
void batchlas::device::detail::validate_rankk_operand ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
const RankKOperand< T > & operand,
SymmetricRankKTransform transform )
inlineconstexpr

Definition at line 561 of file group_blas_common.hh.

◆ validate_vector_operand()

template<typename T>
void batchlas::device::detail::validate_vector_operand ( const VectorView< T > & x,
const char * op_name )
inlineconstexpr

Definition at line 572 of file group_blas_common.hh.

◆ validate_vector_operands() [1/2]

template<typename T>
void batchlas::device::detail::validate_vector_operands ( const VectorView< T > & x,
const VectorView< T > & y,
const char * op_name )
inlineconstexpr

Definition at line 579 of file group_blas_common.hh.

◆ validate_vector_operands() [2/2]

template<typename T>
void batchlas::device::detail::validate_vector_operands ( const VectorView< T > & x,
const VectorView< T > & y,
const VectorView< T > & z,
const char * op_name )
inlineconstexpr

Definition at line 588 of file group_blas_common.hh.

◆ validate_hadamard_operands()

template<typename T, typename... Views>
requires (sizeof...(Views) > 0 && (VectorOperandFor<T, Views> && ...))
void batchlas::device::detail::validate_hadamard_operands ( const VectorView< T > & z,
const char * op_name,
const Views &... inputs )
inlineconstexpr

Definition at line 599 of file group_blas_common.hh.

◆ triangular_storage_contains() [1/2]

template<typename Tag>
bool batchlas::device::detail::triangular_storage_contains ( int row,
int col )
inlineconstexpr

Definition at line 631 of file group_blas_common.hh.

◆ triangular_storage_contains() [2/2]

bool batchlas::device::detail::triangular_storage_contains ( Uplo uplo,
int row,
int col )
inlineconstexpr

Definition at line 638 of file group_blas_common.hh.

◆ triangular_matrix_entry() [1/2]

template<typename Tag, typename T>
T batchlas::device::detail::triangular_matrix_entry ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
int row,
int col )
inlineconstexpr

Definition at line 643 of file group_blas_common.hh.

◆ triangular_matrix_entry() [2/2]

template<typename T>
T batchlas::device::detail::triangular_matrix_entry ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
int row,
int col,
TriangularTransform transform )
inlineconstexpr

Definition at line 669 of file group_blas_common.hh.

◆ symmetric_matrix_entry() [1/2]

template<typename Tag, typename T>
T batchlas::device::detail::symmetric_matrix_entry ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
int row,
int col )
inlineconstexpr

Definition at line 694 of file group_blas_common.hh.

◆ symmetric_matrix_entry() [2/2]

template<typename T>
T batchlas::device::detail::symmetric_matrix_entry ( const KernelMatrixView< T, MatrixFormat::Dense > & a,
int row,
int col,
SymmetricTransform transform )
inlineconstexpr

Definition at line 718 of file group_blas_common.hh.

◆ write_matrix_output()

template<typename T>
void batchlas::device::detail::write_matrix_output ( const MatrixMatrixOperand< T > & operand,
int row,
int col,
const T & value )
inlineconstexpr

Definition at line 737 of file group_blas_common.hh.

◆ accumulate_rank1_output()

template<typename T>
void batchlas::device::detail::accumulate_rank1_output ( const Rank1UpdateOperand< T > & operand,
int row,
int col,
const T & value )
inlineconstexpr

Definition at line 745 of file group_blas_common.hh.

◆ rank2k_rhs_transform() [1/2]

template<typename Tag>
Transpose batchlas::device::detail::rank2k_rhs_transform ( )
inlineconstexpr

Definition at line 753 of file group_blas_common.hh.

◆ rank2k_rhs_transform() [2/2]

Transpose batchlas::device::detail::rank2k_rhs_transform ( SymmetricRank2kTransform transform)
inlineconstexpr

Definition at line 760 of file group_blas_common.hh.

◆ rankk_rhs_transform() [1/2]

template<typename Tag>
Transpose batchlas::device::detail::rankk_rhs_transform ( )
inlineconstexpr

Definition at line 768 of file group_blas_common.hh.

◆ rankk_rhs_transform() [2/2]

Transpose batchlas::device::detail::rankk_rhs_transform ( SymmetricRankKTransform transform)
inlineconstexpr

Definition at line 775 of file group_blas_common.hh.

◆ secondary_rank2k_alpha() [1/2]

template<typename Tag, typename T>
T batchlas::device::detail::secondary_rank2k_alpha ( const T & alpha)
inlineconstexpr

Definition at line 783 of file group_blas_common.hh.

◆ secondary_rank2k_alpha() [2/2]

template<typename T>
T batchlas::device::detail::secondary_rank2k_alpha ( const T & alpha,
bool hermitian )
inlineconstexpr

Definition at line 791 of file group_blas_common.hh.

◆ canonical_hermitian_transform() [1/3]

template<typename T>
SymmetricTransform batchlas::device::detail::canonical_hermitian_transform ( SymmetricTransform transform)
inlineconstexpr

Definition at line 796 of file group_blas_common.hh.

◆ canonical_hermitian_transform() [2/3]

template<typename T>
SymmetricRank2kTransform batchlas::device::detail::canonical_hermitian_transform ( SymmetricRank2kTransform transform)
inlineconstexpr

Definition at line 805 of file group_blas_common.hh.

◆ canonical_hermitian_transform() [3/3]

template<typename T>
SymmetricRankKTransform batchlas::device::detail::canonical_hermitian_transform ( SymmetricRankKTransform transform)
inlineconstexpr

Definition at line 814 of file group_blas_common.hh.

◆ gemm_workspace_elements()

template<typename Tag, DeviceBlasPolicy Policy, typename T>
std::size_t batchlas::device::detail::gemm_workspace_elements ( const DeviceBlasLaunchInfo & launch,
int row_extent,
int col_extent,
int contract_extent,
bool aligned_a = false,
bool aligned_b = false )
inlineconstexpr

Definition at line 344 of file group_blas_gemm.hh.

◆ dispatch_gemm()

template<typename Tag, DeviceBlasPolicy Policy, typename Exec, typename T>
void batchlas::device::detail::dispatch_gemm ( const Exec & exec,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
MatrixMatrixOperand< T > operand,
T * workspace = nullptr )
inlineconstexpr

Definition at line 378 of file group_blas_gemm.hh.

◆ gemv_workspace_elements()

template<typename Tag, DeviceBlasPolicy Policy, typename T>
std::size_t batchlas::device::detail::gemv_workspace_elements ( const DeviceBlasLaunchInfo & launch,
int rows,
int cols )
inlineconstexpr

Definition at line 167 of file group_blas_gemv.hh.

◆ dispatch_gemv()

template<typename Tag, DeviceBlasPolicy Policy, typename Group, typename T>
void batchlas::device::detail::dispatch_gemv ( const Group & group,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
MatrixVectorOperand< T > operand,
T * workspace = nullptr )
inline

Definition at line 178 of file group_blas_gemv.hh.

◆ dispatch_ger()

template<typename Tag, typename Group, typename T>
void batchlas::device::detail::dispatch_ger ( const Group & group,
const VectorView< T > & x,
Rank1UpdateOperand< T > operand )
inlineconstexpr

Definition at line 33 of file group_blas_ger.hh.

◆ rank2k_workspace_elements()

template<typename Tag, DeviceBlasPolicy Policy, typename T>
std::size_t batchlas::device::detail::rank2k_workspace_elements ( const DeviceBlasLaunchInfo & launch,
int extent,
int contract_extent )
inlineconstexpr

Definition at line 362 of file group_blas_rankk.hh.

◆ rankk_workspace_elements()

template<typename Tag, DeviceBlasPolicy Policy, typename T>
std::size_t batchlas::device::detail::rankk_workspace_elements ( const DeviceBlasLaunchInfo & launch,
int extent,
int contract_extent )
inlineconstexpr

Definition at line 378 of file group_blas_rankk.hh.

◆ dispatch_rank2k()

template<typename Tag, DeviceBlasPolicy Policy, typename Exec, typename T>
void batchlas::device::detail::dispatch_rank2k ( const Exec & exec,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
MatrixMatrixOperand< T > operand,
T * workspace = nullptr )
inlineconstexpr

Definition at line 394 of file group_blas_rankk.hh.

◆ dispatch_rankk()

template<typename Tag, DeviceBlasPolicy Policy, typename Exec, typename T>
void batchlas::device::detail::dispatch_rankk ( const Exec & exec,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
RankKOperand< T > operand,
T * workspace = nullptr )
inlineconstexpr

Definition at line 429 of file group_blas_rankk.hh.

◆ symm_workspace_elements()

template<typename Tag, DeviceBlasPolicy Policy, typename T>
std::size_t batchlas::device::detail::symm_workspace_elements ( const DeviceBlasLaunchInfo & launch,
int row_extent,
int col_extent )
inlineconstexpr

Definition at line 245 of file group_blas_symm.hh.

◆ dispatch_symm()

template<typename Tag, DeviceBlasPolicy Policy, typename Exec, typename T>
void batchlas::device::detail::dispatch_symm ( const Exec & exec,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
MatrixMatrixOperand< T > operand,
T * workspace = nullptr )
inlineconstexpr

Definition at line 261 of file group_blas_symm.hh.

◆ symv_workspace_elements()

template<typename Tag, DeviceBlasPolicy Policy, typename T>
std::size_t batchlas::device::detail::symv_workspace_elements ( const DeviceBlasLaunchInfo & launch,
int extent )
inlineconstexpr

Definition at line 225 of file group_blas_symv.hh.

◆ dispatch_symv()

template<typename Tag, DeviceBlasPolicy Policy, typename Group, typename T>
void batchlas::device::detail::dispatch_symv ( const Group & group,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
MatrixVectorOperand< T > operand,
T * workspace = nullptr )
inline

Definition at line 235 of file group_blas_symv.hh.

◆ trmm_workspace_elements()

template<typename Tag, DeviceBlasPolicy Policy, typename T>
std::size_t batchlas::device::detail::trmm_workspace_elements ( const DeviceBlasLaunchInfo & launch,
int row_extent,
int col_extent,
bool aliased = false )
inlineconstexpr

Definition at line 297 of file group_blas_trmm.hh.

◆ dispatch_trmm()

template<typename Tag, DeviceBlasPolicy Policy, typename Exec, typename T>
void batchlas::device::detail::dispatch_trmm ( const Exec & exec,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
MatrixMatrixOperand< T > operand,
T * workspace = nullptr )
inlineconstexpr

Definition at line 314 of file group_blas_trmm.hh.

◆ dispatch_trmv()

template<typename Tag, typename Group, typename T>
void batchlas::device::detail::dispatch_trmv ( const Group & group,
const KernelMatrixView< T, MatrixFormat::Dense > & a,
MatrixVectorOperand< T > operand )
inlineconstexpr

Definition at line 36 of file group_blas_trmv.hh.

Variables

◆ workspace_elements_v

template<typename T, typename Workspace>
std::size_t batchlas::device::detail::workspace_elements_v = sizeof(Workspace) / sizeof(T)
inlineconstexpr

Definition at line 256 of file group_blas_common.hh.

Namespaces

namespace  generic
namespace  subgroup

Classes

struct  TriangularTransformTag
struct  SymmetricTransformTag
struct  SymmetricRankTransformTag

Concepts

concept  NdItemLike
concept  MatrixVectorOperandFor
concept  MatrixMatrixOperandFor
concept  VectorOperandFor