Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Functions
linear_solve.hpp File Reference

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>
Include dependency graph for async/linear_solve.hpp:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

Async Tensor wrappers for dense general linear solves.