42template <Platform PLATFORM>
61template <ProcessingContext CONTEXT>
68 #define any_platform __device__ __host__
70 #define platform_constant constexpr __constant__
71 #define platform_constant_definition constexpr __constant__
73 #define platform_constant constexpr
74 #define platform_constant_definition constexpr
78 #define platform_constant constexpr
79 #define platform_constant_definition constexpr
85#ifdef PLATFORM_CPU_SISD
89#ifdef PLATFORM_CPU_SIMD
93#ifdef PLATFORM_GPU_CUDA
98 throw std::invalid_argument(
"Invalid PLATFORM");
Top level namespace for all of OpenLB.
ProcessingContext
OpenLB processing contexts.
@ Simulation
Data available on host for e.g. functor evaluation.
Platform
OpenLB execution targets.
@ CPU_SIMD
Basic scalar CPU.
@ GPU_CUDA
Vector CPU (AVX2 / AVX-512 collision)
void checkPlatform()
Verifies requirements for using PLATFORM.
constexpr bool isPlatformCPU(Platform platform)
Returns true if platform is equal to Platform::CPU_*.