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>
81 template <
typename FIELD_TYPE>
85 template <
typename FIELD_TYPE>
90 template <
typename FIELD_TYPE>
95 template <
typename FIELD>
99 std::vector<gpu::cuda::AnyDeviceFieldArrayD> deviceFieldArrays(
100 const std::vector<std::type_index>& fields);
Container for arbitrary data instances.
SoA storage for instances of a single FIELD.
Efficient indexing of dynamically allocated data fields.
const AnyFieldTypeD< T, DESCRIPTOR, PLATFORM > * get() const
Return read-only pointer to FIELD_TYPE data.
void track(AnyFieldTypeD< T, DESCRIPTOR, PLATFORM > *fieldType)
Track newly allocated FIELD_TYPE.
bool provides() const
Returns true iff FIELD_TYPE is registered.
(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__