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"
Include dependency graph for cuda_span.h:
This graph shows which files directly or indirectly include this file: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.