|
Uni20
Asynchronous tensor and runtime library.
|
Operation-tag backend dispatch over tensor-view operands. More...
#include <uni20/common/trace.hpp>#include <uni20/linalg/backend_selector.hpp>#include <uni20/linalg/dispatch_diagnostics.hpp>#include <uni20/linalg/dispatch_error.hpp>#include <uni20/linalg/dispatch_error_presentation.hpp>#include <array>#include <concepts>#include <optional>#include <span>#include <string>#include <string_view>#include <tuple>#include <type_traits>#include <utility>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Typedefs | |
| template<class BackendSelector , class Op , class... Args> | |
| using | uni20::linalg::kernel_type_candidates_t = typename detail::KernelTypeCandidates< detail::normalized_backend_selector_t< BackendSelector >, std::remove_cvref_t< Op >, Args... >::type |
| Ordered backend-list type whose entries accept the operation argument types. | |
Functions | |
| template<class BackendSelector , class Op , class... Args> requires detail::KernelDispatchTypesAccepted<detail::normalized_backend_selector_t<BackendSelector>, Op, Args...> | |
| void | uni20::linalg::dispatch_kernel (BackendSelector &&selector, Op op, Args &&... args) |
| Normalize a selector and dispatch or report that every eligible backend declined. | |
| template<class BackendSelector , class Op , class... Args> | |
| void | uni20::linalg::dynamic_dispatch_kernel (BackendSelector &&selector, Op op, Args &&... args) |
| Dynamically dispatch an operation, raising even type-level rejection at runtime. | |
| template<class BackendSelector , class Op , class... Args> | |
| constexpr auto | uni20::linalg::kernel_type_candidates (BackendSelector &&selector, Op const &, Args &&...) |
| Filter a backend selector to candidates accepting the call's argument types. | |
| template<class BackendSelector , class Op , class... Args> | |
| constexpr KernelTypeAcceptance | uni20::linalg::probe_dispatch_kernel (BackendSelector &&, Op const &, Args &&...) |
| Probe whether a backend selector can dispatch an operation for the argument types. | |
| template<class BackendSelector , class Op , class... Args> | |
| consteval KernelTypeAcceptance | uni20::linalg::probe_dispatch_kernel_types () |
| Probe whether a backend selector type can dispatch operation argument types. | |
| template<class BackendSelector , class Op , class... Args> requires detail::KernelDispatchTypesAccepted<detail::normalized_backend_selector_t<BackendSelector>, Op, Args...> | |
| bool | uni20::linalg::try_dispatch_kernel (BackendSelector &&selector, Op op, Args &&... args) |
| Normalize a selector and try each eligible backend until one performs the operation. | |
Operation-tag backend dispatch over tensor-view operands.