OpenLB 1.7
No Matches
Classes | Namespaces | Macros | Enumerations | Functions
platform.h File Reference
#include <stdexcept>
#include "core/meta.h"
+ Include dependency graph for platform.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  olb::stage::PreContextSwitchTo< CONTEXT >


namespace  olb
 Top level namespace for all of OpenLB.
namespace  olb::stage


#define any_platform
 Define preprocessor macros for device-side functions, constant storage.
#define platform_constant   constexpr
#define platform_constant_definition   constexpr


enum struct  olb::Platform : std::uint8_t { olb::CPU_SISD , olb::CPU_SIMD , olb::GPU_CUDA }
 OpenLB execution targets. More...
enum struct  olb::ProcessingContext { olb::Evaluation , olb::Simulation }
 OpenLB processing contexts. More...


template<Platform PLATFORM>
void olb::checkPlatform ()
 Verifies requirements for using PLATFORM.
template<typename CONCRETIZABLE , typename F >
auto olb::callUsingConcretePlatform (Platform platform, typename CONCRETIZABLE::base_t *ptr, F f)
 Dispatcher for concrete platform access.
template<typename F >
void olb::callUsingConcretePlatform (Platform platform, F f)
template<typename CONCRETIZABLE , typename... ARGS>
CONCRETIZABLE::base_t * olb::constructUsingConcretePlatform (Platform platform, ARGS &&... args)
constexpr bool olb::isPlatformCPU (Platform platform)
 Returns true if platform is equal to Platform::CPU_*.

Macro Definition Documentation

◆ any_platform

#define any_platform

Define preprocessor macros for device-side functions, constant storage.

Definition at line 78 of file platform.h.

◆ platform_constant

#define platform_constant   constexpr

Definition at line 79 of file platform.h.

◆ platform_constant_definition

#define platform_constant_definition   constexpr

Definition at line 80 of file platform.h.