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

Coroutine kernel-dispatch customization for CublasBackend GEMM. More...

#include <uni20/async/cuda_task.hpp>
#include <uni20/backend/cublas/task_awaiters.hpp>
#include <uni20/backend/cuda/task_awaiters.hpp>
#include <uni20/linalg/async/kernel_task.hpp>
#include <uni20/linalg/backends/cublas/gemm.hpp>
#include <utility>
Include dependency graph for gemm_task.hpp:

Go to the source code of this file.

Namespaces

namespace  uni20
 
namespace  uni20::linalg
 

Functions

template<uni20::cublas::CublasScalar Scalar, uni20::MutableRankedTensorView< 2 > OutputTensor, class LhsMdspan , class RhsMdspan >
requires uni20::RankedMdspecLike<LhsMdspan, 2> && uni20::RankedMdspecLike<RhsMdspan, 2> && requires(async::shared_storage<OutputTensor>& storage, detail::matrix_product_extents const& shape, uni20::cuda::Device device) { uni20::prepare_output(storage, shape, device); }
auto uni20::linalg::try_make_kernel_task (CublasBackend, assign_product_op const &, async::shared_storage< OutputTensor > &output_storage, Scalar const &alpha, LhsMdspan &lhs, RhsMdspan &rhs) -> KernelTaskAttempt< async::CudaTask >
 Prepare asynchronous cuBLAS assignment into deferred Tensor storage.
 
template<uni20::cublas::CublasScalar Scalar, class OutputTensor , class LhsMdspan , class RhsMdspan >
requires uni20::MutableRankedTensorView<OutputTensor, 2> && uni20::RankedMdspecLike<LhsMdspan, 2> && uni20::RankedMdspecLike<RhsMdspan, 2>
auto uni20::linalg::try_make_kernel_task (CublasBackend, assign_product_op const &, OutputTensor &output, Scalar const &alpha, LhsMdspan &lhs, RhsMdspan &rhs) -> KernelTaskAttempt< async::CudaTask >
 Prepare a replaceable output and lower normalized operands for asynchronous cuBLAS work.
 
template<uni20::cublas::CublasScalar Scalar, class OutputMdspan , class LhsMdspan , class RhsMdspan >
requires uni20::MutableRankedMdspecLike<OutputMdspan, 2> && uni20::RankedMdspecLike<LhsMdspan, 2> && uni20::RankedMdspecLike<RhsMdspan, 2>
auto uni20::linalg::try_make_kernel_task (CublasBackend, gemm_op const &, OutputMdspan &output, Scalar const &alpha, LhsMdspan &lhs, RhsMdspan &rhs, Scalar const &beta) -> KernelTaskAttempt< async::CudaTask >
 Prepare asynchronous cuBLAS work from normalized mdspecs.
 

Detailed Description

Coroutine kernel-dispatch customization for CublasBackend GEMM.