24#ifndef GPU_CUDA_REGISTRY_H
25#define GPU_CUDA_REGISTRY_H
48 return reinterpret_cast<std::uint8_t*
>(
data[iD]);
61template<
typename T,
typename DESCRIPTOR>
68 std::unique_ptr<Data> _data;
76 template <
typename FIELD_TYPE>
78 return _index.template provides<FIELD_TYPE>();
81 template <
typename FIELD_TYPE>
83 return _index.template get<FIELD_TYPE>();
86 template <
typename FIELD_TYPE>
91 template <
typename FIELD>
95 std::vector<gpu::cuda::AnyDeviceFieldArrayD> deviceFieldArrays(
96 const std::vector<std::type_index>& fields);
Helper for referring to arbitrary data instances.
Storage of any FIELD_TYPE data on PLATFORM.
SoA storage for instances of a single FIELD.
Efficient indexing of dynamically allocated data fields.
void track(AnyFieldType< T, DESCRIPTOR, PLATFORM > *fieldType)
Track newly allocated FIELD_TYPE.
(Time) efficient mapping between TYPEs and VALUEs
Top level namespace for all of OpenLB.
Platform
OpenLB execution targets.
@ GPU_CUDA
Vector CPU (AVX2 / AVX-512 collision)
Type-erased pointer to FieldArrayD device data.
std::uint8_t * operator[](unsigned iD) __device__