nngn
Loading...
Searching...
No Matches
compute.h File Reference
#include <array>
#include <cassert>
#include <cstring>
#include <memory>
#include <numeric>
#include <ranges>
#include <span>
#include <string>
#include <string_view>
#include <vector>
#include "utils/concepts.h"
#include "utils/def.h"
#include "utils/ranges.h"
#include "utils/utils.h"
Include dependency graph for compute.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nngn::Compute
 Base class for computation back ends, which may be hardware-accelerated. More...
 
struct  nngn::Compute::Version
 
struct  nngn::Compute::OpenCLParameters
 
struct  nngn::Compute::Handle
 Base class for handles to opaque compute objects. More...
 
struct  nngn::Compute::Buffer
 
struct  nngn::Compute::Image
 
struct  nngn::Compute::Sampler
 
struct  nngn::Compute::Program
 
struct  nngn::Compute::Kernel
 
struct  nngn::Compute::Events
 Controls dependencies between operations. More...
 
struct  nngn::Compute::DataArg
 Argument type for raw memory passed to the execution kernel "by value". More...
 

Namespaces

namespace  nngn
 
namespace  nngn::detail
 

Functions

template<Compute::Backend >
std::unique_ptr< Compute > nngn::compute_create_backend (const void *params)
 
auto nngn::detail::arg_size (const std::byte &)
 
auto nngn::detail::arg_ptr (const std::byte &b)
 
auto nngn::detail::arg_size (const Compute::Handle &t)
 
auto nngn::detail::arg_ptr (const Compute::Handle &t)
 
template<arithmetic T>
auto nngn::detail::arg_size (const T &)
 
auto nngn::detail::arg_ptr (const arithmetic auto &t)
 
auto nngn::detail::arg_size (const std::ranges::sized_range auto &r)
 
auto nngn::detail::arg_ptr (const std::ranges::range auto &r)
 

Variables

template<typename T >
static constexpr Compute::Type nngn::arg_type = Compute::Type::NONE