|
Uni20
Asynchronous tensor and runtime library.
|
Allocation-wide CUDA linear operations for partitioned buffers. More...
#include <uni20/backend/cuda/buffer.hpp>#include <uni20/config.hpp>#include <uni20/linalg/backends/cuda/elementwise_arithmetic.hpp>#include <uni20/linalg/backends/cuda/elementwise_copy.hpp>#include <uni20/linalg/backends/cuda/elementwise_plan.hpp>#include <uni20/linalg/backends/cuda/elementwise_scale.hpp>#include <array>#include <concepts>#include <cstddef>#include <cstdint>#include <limits>#include <type_traits>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
| namespace | uni20::linalg::partitioned_buffer_detail |
Functions | |
| template<class Scalar , class Factor > requires cuda_partitioned_scale_scalars<Scalar, Factor> | |
| void | uni20::linalg::cuda_partitioned_assign_scale (cuda::PartitionedCudaBuffer< Scalar > &output, Factor factor, cuda::PartitionedCudaBuffer< Scalar > const &input) |
| Overwrite one partitioned CUDA allocation with a scaled peer allocation. | |
| template<class Scalar , class Factor > requires cuda_partitioned_scale_scalars<Scalar, Factor> | |
| void | uni20::linalg::cuda_partitioned_axpy (cuda::PartitionedCudaBuffer< Scalar > &output, Factor factor, cuda::PartitionedCudaBuffer< Scalar > const &input) |
| Add a scaled partitioned CUDA allocation to another in place. | |
| template<class Scalar , class Factor > requires cuda_partitioned_scale_scalars<Scalar, Factor> | |
| void | uni20::linalg::cuda_partitioned_scale (cuda::PartitionedCudaBuffer< Scalar > &output, Factor factor) |
| Scale a complete partitioned CUDA allocation in place. | |
| template<class Scalar > requires cuda_partitioned_fill_scalar<Scalar> | |
| void | uni20::linalg::cuda_partitioned_set_zero (cuda::PartitionedCudaBuffer< Scalar > &output) |
| Set a complete partitioned CUDA allocation to numerical zero. | |
| template<std::size_t OperandCount, std::size_t MaximumRank> | |
| auto | uni20::linalg::partitioned_buffer_detail::make_contiguous_plan (std::size_t size) -> detail::cuda_reference::LoweredStridedElementwisePlan< OperandCount, MaximumRank > |
| template<class... Accesses> | |
| void | uni20::linalg::partitioned_buffer_detail::publish (cuda::Stream const &stream, Accesses &... accesses) |
Variables | |
| template<class Scalar > | |
| constexpr bool | uni20::linalg::cuda_partitioned_fill_scalar = detail::cuda_reference::supports_elementwise_arithmetic<Scalar> |
Whether allocation-wide CUDA fill operations support Scalar. | |
| template<class Scalar , class Factor > | |
| constexpr bool | uni20::linalg::cuda_partitioned_scale_scalars |
| Whether allocation-wide CUDA scale operations support this scalar pair. | |
Allocation-wide CUDA linear operations for partitioned buffers.