A non-owning object for a continuous region of memory. More...
#include <algorithm>
#include <iostream>
#include <array>
#include "inc/util/restrict.h"
#include "inc/util/macros.h"
#include "inc/util/cuda_dynarray.h"
Classes | |
class | syten::Cuda::CudaConstSpan< T > |
CudaConstSpan is a non-owning constant reference to a continuous array of objects in CUDA storage. More... | |
class | syten::Cuda::CudaMutSpan< T > |
CudaMutSpan is a non-owning reference to a continuous array of objects in CUDA storage which can be mutated through the span. More... | |
Namespaces | |
namespace | syten |
Syten namespace. | |
namespace | syten::Cuda |
Support functions (memory allocation etc.) for CUDA-based GPUs. | |
Typedefs | |
template<typename T > | |
using | syten::CudaConstSpan = Cuda::CudaConstSpan< T > |
Range of constant elements. More... | |
template<typename T > | |
using | syten::CudaMutSpan = Cuda::CudaMutSpan< T > |
Range of mutable elements. More... | |
Functions | |
void | syten::Cuda::conj_copy (CudaConstSpan< double > src, CudaMutSpan< double > dst) |
Copies all data from src to dst (no conjugation takes places as double is real). More... | |
void | syten::Cuda::conj_copy (CudaConstSpan< float > src, CudaMutSpan< float > dst) |
Copies all data from src to dst (no conjugation takes places as float is real). More... | |
void | syten::Cuda::conj_copy (CudaConstSpan< std::complex< double > > src, CudaMutSpan< std::complex< double > > dst) |
Copies all data from src to dst while complex-conjugating every value. More... | |
void | syten::Cuda::conj_copy (CudaConstSpan< std::complex< float > > src, CudaMutSpan< std::complex< float > > dst) |
Copies all data from src to dst while complex-conjugating every value. More... | |
template<typename T > | |
void | syten::Cuda::copy (CudaConstSpan< T > const inp, CudaMutSpan< T > out) |
Copies all data from inp to out . More... | |
template<typename T > | |
int | syten::Cuda::host_device (CudaConstSpan< T > const inp) |
Returns the device hosting the CudaConstSpan range. More... | |
template<typename T > | |
int | syten::Cuda::host_device (CudaMutSpan< T > const inp) |
Returns the device hosting the CudaMutSpan range. More... | |
template<typename T > | |
T | syten::Cuda::max_element (CudaConstSpan< T > const inp) |
Returns the absolute-value maximal element of the range. More... | |
std::size_t | syten::Cuda::max_element_idx (CudaConstSpan< double > inp) |
Returns the 0-based index of the absolute-value maximal element of the range. More... | |
std::size_t | syten::Cuda::max_element_idx (CudaConstSpan< float > inp) |
Returns the 0-based index of the absolute-value maximal element of the range. More... | |
std::size_t | syten::Cuda::max_element_idx (CudaConstSpan< std::complex< double > > inp) |
Returns the 0-based index of the absolute-value maximal element of the range. More... | |
std::size_t | syten::Cuda::max_element_idx (CudaConstSpan< std::complex< float > > inp) |
Returns the 0-based index of the absolute-value maximal element of the range. More... | |
A non-owning object for a continuous region of memory.