OpenLB 1.7
Loading...
Searching...
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.

Classes

struct  olb::stage::PreContextSwitchTo< CONTEXT >
 

Namespaces

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

Macros

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

Enumerations

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...
 

Functions

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.