batchlas::detail Namespace Reference

Functions

◆ require_args_accessible()

template<typename... Args>
void batchlas::detail::require_args_accessible ( const Queue & ctx,
const char * fn,
const char *const * names,
const Args &... args )
inline

Definition at line 61 of file options.hh.

◆ require_square()

template<typename MV>
void batchlas::detail::require_square ( const char * fn,
const char * name,
const MV & A )
inline

Definition at line 98 of file options.hh.

◆ require_same_rows()

template<typename MA, typename MB>
void batchlas::detail::require_same_rows ( const char * fn,
const char * an,
const MA & A,
const char * bn,
const MB & B )
inline

Definition at line 105 of file options.hh.

◆ require_same_batch()

template<typename MA, typename MB>
void batchlas::detail::require_same_batch ( const char * fn,
const char * an,
const MA & A,
const char * bn,
const MB & B )
inline

Definition at line 114 of file options.hh.

◆ require_span_at_least()

void batchlas::detail::require_span_at_least ( const char * fn,
const char * name,
size_t have,
size_t need )
inline

Definition at line 123 of file options.hh.

◆ require_info_span()

void batchlas::detail::require_info_span ( const char * fn,
size_t have,
size_t batch_size )
inline

Definition at line 131 of file options.hh.

◆ throw_no_device_fp64()

void batchlas::detail::throw_no_device_fp64 ( const Queue & ctx,
const char * op )
inline

Definition at line 75 of file queue-dispatch.hh.

◆ require_device_fp64()

template<class T>
void batchlas::detail::require_device_fp64 ( const Queue & ctx,
const char * op )
inline

Throws throw_no_device_fp64 for a double or complex<double> T on a GPU without fp64.

For kernels that are not Backend-templated (or NETLIB ones that launch on the queue's device), whose double instantiations exist and would otherwise fail in the device JIT.

Definition at line 96 of file queue-dispatch.hh.

◆ with_backend_gated()

template<bool NeedsFp64, typename F>
auto batchlas::detail::with_backend_gated ( Queue & ctx,
const char * op,
F && f )
inline

Definition at line 106 of file queue-dispatch.hh.

◆ pointer_checks_enabled()

bool batchlas::detail::pointer_checks_enabled ( )
inline

Definition at line 184 of file queue-dispatch.hh.

◆ addresses_no_elements()

template<typename A>
bool batchlas::detail::addresses_no_elements ( const A & arg)
inline

Definition at line 213 of file queue-dispatch.hh.

◆ require_arg_accessible()

template<typename A>
void batchlas::detail::require_arg_accessible ( const Queue & ctx,
const A & arg,
const std::string & what )
inline

Definition at line 225 of file queue-dispatch.hh.

◆ require_pack_accessible()

template<typename... Args>
void batchlas::detail::require_pack_accessible ( const Queue & ctx,
const char * fn,
const Args &... args )
inline

Definition at line 241 of file queue-dispatch.hh.

◆ broadcast_from_leader_impl()

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

Definition at line 29 of file group-invoke.hh.

◆ fold_symmetric_product_into_triangle()

template<typename T>
Event batchlas::detail::fold_symmetric_product_into_triangle ( Queue & ctx,
const MatrixView< T, MatrixFormat::Dense > & C,
const MatrixView< T, MatrixFormat::Dense > & product,
T beta,
Uplo uplo )

Definition at line 20 of file symmetric_product_fold.hh.

Types

◆ dense_scalar_t

template<typename M>
using batchlas::detail::dense_scalar_t = typename dense_scalar<std::remove_cvref_t<M>>::type

Definition at line 255 of file options.hh.

◆ group_type_t

template<typename Group>
using batchlas::detail::group_type_t = std::remove_cv_t<std::remove_reference_t<Group>>

Definition at line 23 of file group-invoke.hh.

Variables

◆ is_fp64_scalar_v

template<class T>
bool batchlas::detail::is_fp64_scalar_v
inlineconstexpr
Initial value:
=
std::is_same_v<std::remove_cv_t<T>, double> || std::is_same_v<std::remove_cv_t<T>, std::complex<double>>

Definition at line 66 of file queue-dispatch.hh.

◆ needs_fp64_v

template<class... A>
bool batchlas::detail::needs_fp64_v
inlineconstexpr
Initial value:

Definition at line 72 of file queue-dispatch.hh.

◆ kProbeBackend

Backend batchlas::detail::kProbeBackend
inlineconstexpr
Initial value:
=
@ CUDA
NVIDIA GPU: cuBLAS / cuSOLVER / cuSPARSE and the native SYCL kernels.
Definition enums.hh:113

Definition at line 252 of file queue-dispatch.hh.

◆ is_sub_group_v

template<typename Group>
bool batchlas::detail::is_sub_group_v = std::is_same_v<group_type_t<Group>, sycl::sub_group>
inlineconstexpr

Definition at line 26 of file group-invoke.hh.

Classes

struct  container_elem
struct  container_elem< Matrix< T, F > >
struct  container_elem< MatrixView< T, F > >
struct  container_elem< P< T > >
struct  container_elem< Span< T > >
struct  container_elem< std::complex< T > >
struct  container_elem< UnifiedVector< T > >
struct  container_elem< Vector< T > >
struct  container_elem< VectorView< T > >
struct  dense_scalar
struct  dense_scalar< Matrix< T, MatrixFormat::Dense > >
struct  dense_scalar< MatrixView< T, MatrixFormat::Dense > >
class  exception_bridge
 Derives from StdBase and, virtually, from batchlas::exception. More...

Concepts

concept  DenseMatrixLike
concept  HasData
concept  HasDataPtr
concept  HasMatrixExtent
concept  HasVectorExtent