queue-dispatch.hh File Reference

Overview

Backend deduction from the Queue and the USM pointer check.

Definition in file queue-dispatch.hh.

#include <complex>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>
#include <batchlas/backend_config.h>
#include <batchlas/blas/enums.hh>
#include <batchlas/settings.hh>
#include <batchlas/blas/matrix.hh>
#include <batchlas/util/sycl-device-queue.hh>
#include <batchlas/util/sycl-span.hh>
#include <batchlas/util/sycl-vector.hh>

Go to the source code of this file.

Macros

◆ BATCHLAS_DISPATCH_ON_QUEUE

#define BATCHLAS_DISPATCH_ON_QUEUE ( NAME)
Value:
template <typename... Args> \
requires requires(Queue& probe_ctx, Args&&... probe_args) { \
NAME<::batchlas::detail::kProbeBackend>(probe_ctx, \
std::forward<Args>(probe_args)...); \
} \
inline auto NAME(Queue& ctx, Args&&... args) { \
::batchlas::detail::require_pack_accessible(ctx, #NAME, args...); \
return ::batchlas::detail::with_backend_gated< \
::batchlas::detail::needs_fp64_v<Args...>>(ctx, #NAME, [&](auto Back) { \
return NAME<Back.value>(ctx, std::forward<Args>(args)...); \
}); \
}
constexpr bool needs_fp64_v

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

Classes

struct  batchlas::detail::container_elem< A >
struct  batchlas::detail::container_elem< P< T > >
struct  batchlas::detail::container_elem< std::complex< T > >
struct  batchlas::detail::container_elem< Matrix< T, F > >
struct  batchlas::detail::container_elem< MatrixView< T, F > >
struct  batchlas::detail::container_elem< Vector< T > >
struct  batchlas::detail::container_elem< VectorView< T > >
struct  batchlas::detail::container_elem< Span< T > >
struct  batchlas::detail::container_elem< UnifiedVector< T > >

Namespaces

namespace  batchlas
namespace  batchlas::detail

Concepts

concept  batchlas::detail::HasDataPtr
concept  batchlas::detail::HasData
concept  batchlas::detail::HasMatrixExtent
concept  batchlas::detail::HasVectorExtent