OpenMP.h File Reference

Detailed Description

Guarded OpenMP include.

#include "core/Abort.h"
#include "waLBerlaDefinitions.h"
#include <stdlib.h>

Classes

struct  walberla::omp_lock_t
 
struct  walberla::omp_nest_lock_t
 

Namespaces

 walberla
 Storage for detected contacts which can be used to perform actions for all contacts, e.g.
 

Macros

#define WALBERLA_OPENMP_SECTION()   if(false)
 
#define WALBERLA_NON_OPENMP_SECTION()   if(true)
 
#define WALBERLA_OPENMP_FUNCTION_ERROR   WALBERLA_ABORT( "Invalid OpenMP function call! In case of compiling without OpenMP, OpenMP functions are not available and shouldn't be called!" );
 

Typedefs

typedef enum walberla::omp_sched_t walberla::omp_sched_t
 
typedef struct walberla::omp_lock_t walberla::omp_lock_t
 
typedef struct walberla::omp_nest_lock_t walberla::omp_nest_lock_t
 
typedef enum walberla::omp_lock_hint_t walberla::omp_lock_hint_t
 
typedef enum walberla::omp_proc_bind_t walberla::omp_proc_bind_t
 

Enumerations

enum  walberla::omp_sched_t { walberla::omp_sched_static = 1, walberla::omp_sched_dynamic = 2, walberla::omp_sched_guided = 3, walberla::omp_sched_auto = 4 }
 
enum  walberla::omp_lock_hint_t {
  walberla::omp_lock_hint_none = 0, walberla::omp_lock_hint_uncontended = 1, walberla::omp_lock_hint_contended = (1<<1 ), walberla::omp_lock_hint_nonspeculative = (1<<2 ),
  walberla::omp_lock_hint_speculative = (1<<3 ), walberla::kmp_lock_hint_hle = (1<<16), walberla::kmp_lock_hint_rtm = (1<<17), walberla::kmp_lock_hint_adaptive = (1<<18)
}
 
enum  walberla::omp_proc_bind_t {
  walberla::omp_proc_bind_false = 0, walberla::omp_proc_bind_true = 1, walberla::omp_proc_bind_master = 2, walberla::omp_proc_bind_close = 3,
  walberla::omp_proc_bind_spread = 4
}
 

Functions

void walberla::omp_set_num_threads (int)
 
void walberla::omp_set_dynamic (int)
 
void walberla::omp_set_nested (int)
 
void walberla::omp_set_max_active_levels (int)
 
void walberla::omp_set_schedule (omp_sched_t, int)
 
int walberla::omp_get_num_threads (void)
 
int walberla::omp_get_dynamic (void)
 
int walberla::omp_get_nested (void)
 
int walberla::omp_get_max_threads (void)
 
int walberla::omp_get_thread_num (void)
 
int walberla::omp_get_num_procs (void)
 
int walberla::omp_in_parallel (void)
 
int walberla::omp_in_final (void)
 
int walberla::omp_get_active_level (void)
 
int walberla::omp_get_level (void)
 
int walberla::omp_get_ancestor_thread_num (int)
 
int walberla::omp_get_team_size (int)
 
int walberla::omp_get_thread_limit (void)
 
int walberla::omp_get_max_active_levels (void)
 
void walberla::omp_get_schedule (omp_sched_t *, int *)
 
int walberla::omp_get_max_task_priority (void)
 
void walberla::omp_init_lock (omp_lock_t *)
 
void walberla::omp_set_lock (omp_lock_t *)
 
void walberla::omp_unset_lock (omp_lock_t *)
 
void walberla::omp_destroy_lock (omp_lock_t *)
 
int walberla::omp_test_lock (omp_lock_t *)
 
void walberla::omp_init_nest_lock (omp_nest_lock_t *)
 
void walberla::omp_set_nest_lock (omp_nest_lock_t *)
 
void walberla::omp_unset_nest_lock (omp_nest_lock_t *)
 
void walberla::omp_destroy_nest_lock (omp_nest_lock_t *)
 
int walberla::omp_test_nest_lock (omp_nest_lock_t *)
 
void walberla::omp_init_lock_with_hint (omp_lock_t *, omp_lock_hint_t)
 
void walberla::omp_init_nest_lock_with_hint (omp_nest_lock_t *, omp_lock_hint_t)
 
double walberla::omp_get_wtime (void)
 
double walberla::omp_get_wtick (void)
 
int walberla::omp_get_default_device (void)
 
void walberla::omp_set_default_device (int)
 
int walberla::omp_is_initial_device (void)
 
int walberla::omp_get_num_devices (void)
 
int walberla::omp_get_num_teams (void)
 
int walberla::omp_get_team_num (void)
 
int walberla::omp_get_cancellation (void)
 
int walberla::omp_get_initial_device (void)
 
void * walberla::omp_target_alloc (size_t, int)
 
void walberla::omp_target_free (void *, int)
 
int walberla::omp_target_is_present (void *, int)
 
int walberla::omp_target_memcpy (void *, void *, size_t, size_t, size_t, int, int)
 
int walberla::omp_target_memcpy_rect (void *, void *, size_t, int, const size_t *, const size_t *, const size_t *, const size_t *, const size_t *, int, int)
 
int walberla::omp_target_associate_ptr (void *, void *, size_t, size_t, int)
 
int walberla::omp_target_disassociate_ptr (void *, int)
 
omp_proc_bind_t walberla::omp_get_proc_bind (void)
 
int walberla::omp_get_num_places (void)
 
int walberla::omp_get_place_num_procs (int)
 
void walberla::omp_get_place_proc_ids (int, int *)
 
int walberla::omp_get_place_num (void)
 
int walberla::omp_get_partition_num_places (void)
 
void walberla::omp_get_partition_place_nums (int *)
 

Macro Definition Documentation

◆ WALBERLA_NON_OPENMP_SECTION

#define WALBERLA_NON_OPENMP_SECTION ( )    if(true)

◆ WALBERLA_OPENMP_FUNCTION_ERROR

#define WALBERLA_OPENMP_FUNCTION_ERROR   WALBERLA_ABORT( "Invalid OpenMP function call! In case of compiling without OpenMP, OpenMP functions are not available and shouldn't be called!" );

◆ WALBERLA_OPENMP_SECTION

#define WALBERLA_OPENMP_SECTION ( )    if(false)