|
Uni20
Asynchronous tensor and runtime library.
|
Async Tensor wrappers for dense general linear solves. More...
#include <uni20/async/async.hpp>#include <uni20/async/awaiters.hpp>#include <uni20/async/debug_scheduler.hpp>#include <uni20/common/trace.hpp>#include <uni20/linalg/async/detail/output.hpp>#include <uni20/linalg/ops/linear_solve.hpp>#include <concepts>#include <memory>#include <tuple>#include <type_traits>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<uni20::RankedTensorView< 2 > CoefficientTensor, uni20::RankedTensorView< 2 > RhsTensor> requires uni20::RealOrComplex<uni20::tensor_element_t<CoefficientTensor>> && std::same_as<uni20::tensor_element_t<CoefficientTensor>, uni20::tensor_element_t<RhsTensor>> | |
| auto | uni20::linalg::solve (async::Async< CoefficientTensor > const &coefficients, async::Async< RhsTensor > const &right_hand_sides, std::optional< Precision > p={}) |
| Schedule a preserving dense general solve using static Tensor policy. | |
| template<KernelBackendSelector BackendSelector, uni20::RankedTensorView< 2 > CoefficientTensor, uni20::RankedTensorView< 2 > RhsTensor> requires uni20::RealOrComplex<uni20::tensor_element_t<CoefficientTensor>> && std::same_as<uni20::tensor_element_t<CoefficientTensor>, uni20::tensor_element_t<RhsTensor>> | |
| auto | uni20::linalg::solve (BackendSelector selector, async::Async< CoefficientTensor > const &coefficients, async::Async< RhsTensor > const &right_hand_sides, std::optional< Precision > p={}) |
| Schedule a preserving dense general solve through an explicit selector. | |
| template<uni20::AsyncTensorOutput CoefficientTensor, uni20::AsyncTensorOutput RhsTensor> requires detail::CompatibleLinearSolveTensors<CoefficientTensor, RhsTensor> | |
| void | uni20::linalg::solve_inplace (async::Async< CoefficientTensor > &coefficients, async::Async< RhsTensor > &right_hand_sides, std::optional< Precision > p={}) |
| Schedule a destructive dense general solve using static Tensor policy. | |
| template<KernelBackendSelector BackendSelector, uni20::AsyncTensorOutput CoefficientTensor, uni20::AsyncTensorOutput RhsTensor> requires detail::CompatibleLinearSolveTensors<CoefficientTensor, RhsTensor> | |
| void | uni20::linalg::solve_inplace (BackendSelector selector, async::Async< CoefficientTensor > &coefficients, async::Async< RhsTensor > &right_hand_sides, std::optional< Precision > p={}) |
| Schedule a destructive dense general solve through an explicit selector. | |
Async Tensor wrappers for dense general linear solves.