Scippy

SCIP

Solving Constraint Integer Programs

def_openmp.h File Reference

Detailed Description

wrappers for OpenMP defines

Author
Stephen J. Maher

Definition in file def_openmp.h.

Go to the source code of this file.

Macros

#define STR(x)   #x
 
#define STRINGIFY(x)   STR(x)
 
#define CONCATENATE(x, y)   x y
 
#define CONCATPARENTH(x, y)   x ( y )
 
#define TPI_NULL   NULL
 
#define TPI_PRAGMA_CLAUSE(directive, clause)
 
#define TPI_PRAGMA(directive)
 
#define TPI_PRAGMA_PARENTH(directive, var)
 
#define TPI_FOR_CLAUSE(clause)   TPI_PRAGMA_CLAUSE( TPI_DIR_FOR, clause )
 
#define TPI_FOR   TPI_PRAGMA( TPI_DIR_FOR )
 
#define TPI_PARA_CLAUSE(clause)   TPI_PRAGMA_CLAUSE( TPI_DIR_PARA, clause )
 
#define TPI_PARA_CLAUSE_SHARED(priv, clause)
 
#define TPI_PARA_SHARED
 
#define TPI_PARA_SHARED_PRIVATE(priv)
 
#define TPI_PARA_CLAUSE_NONE(share, priv, clause)
 
#define TPI_PARA   TPI_PRAGMA( TPI_DIR_PARA )
 
#define TPI_CRITICAL(var)   TPI_PRAGMA_PARENTH( TPI_DIR_CRITICAL, var)
 
#define TPI_MASTER   TPI_PRAGMA( TPI_DIR_MASTER )
 
#define TPI_WAIT   TPI_PRAGMA( TPI_DIR_WAIT )
 
#define TPI_ORDERED   TPI_PRAGMA( TPI_DIR_ORDERED )
 
#define TPI_SINGLE   TPI_PRAGMA( TPI_DIR_SINGLE )
 
#define TPI_CLAUSE_SINGLE(clause)   TPI_PRAGMA_CLAUSE( TPI_DIR_SINGLE, clause )
 
#define TPI_TASK   TPI_PRAGMA( TPI_DIR_TASK )
 
#define TPI_TASK_SHARED
 
#define TPI_CLAUSE_TASK(clause)   TPI_PRAGMA_CLAUSE( TPI_DIR_TASK, clause )
 
#define TPI_TASKWAIT   TPI_PRAGMA( TPI_DIR_TASKWAIT )
 
#define TPI_DIR_PARA   omp parallel
 
#define TPI_DIR_FOR   omp for
 
#define TPI_DIR_CRITICAL   omp critical
 
#define TPI_DIR_MASTER   omp master
 
#define TPI_DIR_WAIT   omp barrier
 
#define TPI_DIR_ORDERED   omp ordered
 
#define TPI_DIR_TASK   omp task
 
#define TPI_DIR_SINGLE   omp single
 
#define TPI_DIR_TASKWAIT   omp taskwait
 
#define TPI_CLAUSE_PRIVATE(var)   CONCATENATE( private, var )
 
#define TPI_CLAUSE_FSTPRIVATE(var)   CONCATENATE( firstprivate, var )
 
#define TPI_CLAUSE_LSTPRIVATE(var)   CONCATENATE( lastprivate, var )
 
#define TPI_CLAUSE_CPYPRIVATE(var)   CONCATENATE( copyprivate, var )
 
#define TPI_CLAUSE_NOWAIT   nowait
 
#define TPI_CLAUSE_SHARED(var)   CONCATENATE( shared, var )
 
#define TPI_CLAUSE_DEFAULT(var)   CONCATPARENTH( default, var )
 
#define TPI_CLAUSE_REDUCE(op, var)   CONCATENATE( reduction, CONCATENATE( CONCATENATE( op, : ), var ) )
 
#define TPI_CLAUSE_ORDERED   ordered
 
#define TPI_CLAUSE_IF(var)   CONCATENATE( if, var )
 
#define TPI_CLAUSE_NUMTHREADS(var)   CONCATENATE( num_threads, var )
 
#define TPI_CLAUSE_SCHEDULE(type)   CONCATENATE( schedule, type )
 
#define TPI_CLAUSE_SCHEDULE_CHUNK(type, chunk)   CONCATENATE( schedule, CONCATPARENTH( type, chunk ) )
 
#define TPI_CLAUSE_COPYIN(var)   CONCATENATE( copyin, var )
 
#define TPI_CLAUSE_FINAL(var)   CONCATENATE( final, var )
 
#define TPI_CLAUSE_UNTIED   untied
 
#define TPI_CLAUSE_MERGEABLE   mergeable
 
#define TPI_CLAUSE_DEPEND(type, var)   CONCATENATE( depend, CONCATENATE( CONCATENATE( type, : ), var ) )
 
#define TPI_CLAUSE_PRIORITY(var)   CONCATENATE( priority, var )
 
#define TPI_SHARED_DATA(name, members)
 
#define TPI_PRIVATE_DATA(name, members)
 
#define TPI_FSTPRIVATE_DATA(name, members)
 
#define TPI_LSTPRIVATE_DATA(name, members)
 
#define TPI_COPYIN_DATA(name, members)
 

Macro Definition Documentation

◆ STR

#define STR (   x)    #x

Definition at line 27 of file def_openmp.h.

◆ STRINGIFY

#define STRINGIFY (   x)    STR(x)

Definition at line 28 of file def_openmp.h.

◆ CONCATENATE

#define CONCATENATE (   x,
 
)    x y

Definition at line 29 of file def_openmp.h.

◆ CONCATPARENTH

#define CONCATPARENTH (   x,
 
)    x ( y )

Definition at line 30 of file def_openmp.h.

◆ TPI_NULL

#define TPI_NULL   NULL

Definition at line 32 of file def_openmp.h.

◆ TPI_PRAGMA_CLAUSE

#define TPI_PRAGMA_CLAUSE (   directive,
  clause 
)

Definition at line 42 of file def_openmp.h.

◆ TPI_PRAGMA

#define TPI_PRAGMA (   directive)

Definition at line 43 of file def_openmp.h.

◆ TPI_PRAGMA_PARENTH

#define TPI_PRAGMA_PARENTH (   directive,
  var 
)

Definition at line 44 of file def_openmp.h.

◆ TPI_FOR_CLAUSE

#define TPI_FOR_CLAUSE (   clause)    TPI_PRAGMA_CLAUSE( TPI_DIR_FOR, clause )

Definition at line 49 of file def_openmp.h.

◆ TPI_FOR

#define TPI_FOR   TPI_PRAGMA( TPI_DIR_FOR )

Definition at line 50 of file def_openmp.h.

◆ TPI_PARA_CLAUSE

#define TPI_PARA_CLAUSE (   clause)    TPI_PRAGMA_CLAUSE( TPI_DIR_PARA, clause )

Definition at line 51 of file def_openmp.h.

◆ TPI_PARA_CLAUSE_SHARED

#define TPI_PARA_CLAUSE_SHARED (   priv,
  clause 
)
Value:
TPI_CLAUSE_DEFAULT( shared ) \
TPI_CLAUSE_PRIVATE( (priv) ) clause )
#define TPI_PRAGMA_CLAUSE(directive, clause)
Definition: def_openmp.h:42
#define TPI_DIR_PARA
Definition: def_openmp.h:84
#define TPI_CLAUSE_DEFAULT(var)
Definition: def_openmp.h:102
#define TPI_CLAUSE_PRIVATE(var)
Definition: def_openmp.h:96

Definition at line 53 of file def_openmp.h.

◆ TPI_PARA_SHARED

#define TPI_PARA_SHARED
Value:
TPI_CLAUSE_DEFAULT( shared ) )
#define TPI_PRAGMA_CLAUSE(directive, clause)
Definition: def_openmp.h:42
#define TPI_DIR_PARA
Definition: def_openmp.h:84
#define TPI_CLAUSE_DEFAULT(var)
Definition: def_openmp.h:102

Definition at line 57 of file def_openmp.h.

◆ TPI_PARA_SHARED_PRIVATE

#define TPI_PARA_SHARED_PRIVATE (   priv)
Value:
TPI_CLAUSE_DEFAULT( shared ) \
TPI_CLAUSE_PRIVATE( ( priv ) ) )
#define TPI_PRAGMA_CLAUSE(directive, clause)
Definition: def_openmp.h:42
#define TPI_DIR_PARA
Definition: def_openmp.h:84
#define TPI_CLAUSE_DEFAULT(var)
Definition: def_openmp.h:102
#define TPI_CLAUSE_PRIVATE(var)
Definition: def_openmp.h:96

Definition at line 60 of file def_openmp.h.

◆ TPI_PARA_CLAUSE_NONE

#define TPI_PARA_CLAUSE_NONE (   share,
  priv,
  clause 
)
Value:
TPI_CLAUSE_DEFAULT( (none) ) \
TPI_CLAUSE_SHARED( (share) ) \
TPI_CLAUSE_PRIVATE( (priv) ) clause )
#define TPI_PRAGMA_CLAUSE(directive, clause)
Definition: def_openmp.h:42
#define TPI_DIR_PARA
Definition: def_openmp.h:84
#define TPI_CLAUSE_SHARED(var)
Definition: def_openmp.h:101
#define TPI_CLAUSE_DEFAULT(var)
Definition: def_openmp.h:102
#define TPI_CLAUSE_PRIVATE(var)
Definition: def_openmp.h:96

Definition at line 64 of file def_openmp.h.

◆ TPI_PARA

#define TPI_PARA   TPI_PRAGMA( TPI_DIR_PARA )

Definition at line 69 of file def_openmp.h.

Referenced by SCIPsolveConcurrent().

◆ TPI_CRITICAL

#define TPI_CRITICAL (   var)    TPI_PRAGMA_PARENTH( TPI_DIR_CRITICAL, var)

Definition at line 70 of file def_openmp.h.

◆ TPI_MASTER

#define TPI_MASTER   TPI_PRAGMA( TPI_DIR_MASTER )

Definition at line 71 of file def_openmp.h.

◆ TPI_WAIT

#define TPI_WAIT   TPI_PRAGMA( TPI_DIR_WAIT )

Definition at line 72 of file def_openmp.h.

◆ TPI_ORDERED

#define TPI_ORDERED   TPI_PRAGMA( TPI_DIR_ORDERED )

Definition at line 73 of file def_openmp.h.

◆ TPI_SINGLE

#define TPI_SINGLE   TPI_PRAGMA( TPI_DIR_SINGLE )

Definition at line 74 of file def_openmp.h.

Referenced by SCIPsolveConcurrent().

◆ TPI_CLAUSE_SINGLE

#define TPI_CLAUSE_SINGLE (   clause)    TPI_PRAGMA_CLAUSE( TPI_DIR_SINGLE, clause )

Definition at line 75 of file def_openmp.h.

◆ TPI_TASK

#define TPI_TASK   TPI_PRAGMA( TPI_DIR_TASK )

Definition at line 76 of file def_openmp.h.

◆ TPI_TASK_SHARED

#define TPI_TASK_SHARED
Value:
#define TPI_PRAGMA_CLAUSE(directive, clause)
Definition: def_openmp.h:42
#define TPI_DIR_TASK
Definition: def_openmp.h:90
#define TPI_CLAUSE_DEFAULT(var)
Definition: def_openmp.h:102

Definition at line 77 of file def_openmp.h.

◆ TPI_CLAUSE_TASK

#define TPI_CLAUSE_TASK (   clause)    TPI_PRAGMA_CLAUSE( TPI_DIR_TASK, clause )

Definition at line 79 of file def_openmp.h.

◆ TPI_TASKWAIT

#define TPI_TASKWAIT   TPI_PRAGMA( TPI_DIR_TASKWAIT )

Definition at line 80 of file def_openmp.h.

◆ TPI_DIR_PARA

#define TPI_DIR_PARA   omp parallel

Definition at line 84 of file def_openmp.h.

◆ TPI_DIR_FOR

#define TPI_DIR_FOR   omp for

Definition at line 85 of file def_openmp.h.

◆ TPI_DIR_CRITICAL

#define TPI_DIR_CRITICAL   omp critical

Definition at line 86 of file def_openmp.h.

◆ TPI_DIR_MASTER

#define TPI_DIR_MASTER   omp master

Definition at line 87 of file def_openmp.h.

◆ TPI_DIR_WAIT

#define TPI_DIR_WAIT   omp barrier

Definition at line 88 of file def_openmp.h.

◆ TPI_DIR_ORDERED

#define TPI_DIR_ORDERED   omp ordered

Definition at line 89 of file def_openmp.h.

◆ TPI_DIR_TASK

#define TPI_DIR_TASK   omp task

Definition at line 90 of file def_openmp.h.

◆ TPI_DIR_SINGLE

#define TPI_DIR_SINGLE   omp single

Definition at line 91 of file def_openmp.h.

◆ TPI_DIR_TASKWAIT

#define TPI_DIR_TASKWAIT   omp taskwait

Definition at line 92 of file def_openmp.h.

◆ TPI_CLAUSE_PRIVATE

#define TPI_CLAUSE_PRIVATE (   var)    CONCATENATE( private, var )

Definition at line 96 of file def_openmp.h.

◆ TPI_CLAUSE_FSTPRIVATE

#define TPI_CLAUSE_FSTPRIVATE (   var)    CONCATENATE( firstprivate, var )

Definition at line 97 of file def_openmp.h.

◆ TPI_CLAUSE_LSTPRIVATE

#define TPI_CLAUSE_LSTPRIVATE (   var)    CONCATENATE( lastprivate, var )

Definition at line 98 of file def_openmp.h.

◆ TPI_CLAUSE_CPYPRIVATE

#define TPI_CLAUSE_CPYPRIVATE (   var)    CONCATENATE( copyprivate, var )

Definition at line 99 of file def_openmp.h.

◆ TPI_CLAUSE_NOWAIT

#define TPI_CLAUSE_NOWAIT   nowait

Definition at line 100 of file def_openmp.h.

◆ TPI_CLAUSE_SHARED

#define TPI_CLAUSE_SHARED (   var)    CONCATENATE( shared, var )

Definition at line 101 of file def_openmp.h.

◆ TPI_CLAUSE_DEFAULT

#define TPI_CLAUSE_DEFAULT (   var)    CONCATPARENTH( default, var )

Definition at line 102 of file def_openmp.h.

◆ TPI_CLAUSE_REDUCE

#define TPI_CLAUSE_REDUCE (   op,
  var 
)    CONCATENATE( reduction, CONCATENATE( CONCATENATE( op, : ), var ) )

Definition at line 106 of file def_openmp.h.

◆ TPI_CLAUSE_ORDERED

#define TPI_CLAUSE_ORDERED   ordered

Definition at line 107 of file def_openmp.h.

◆ TPI_CLAUSE_IF

#define TPI_CLAUSE_IF (   var)    CONCATENATE( if, var )

Definition at line 108 of file def_openmp.h.

◆ TPI_CLAUSE_NUMTHREADS

#define TPI_CLAUSE_NUMTHREADS (   var)    CONCATENATE( num_threads, var )

Definition at line 109 of file def_openmp.h.

◆ TPI_CLAUSE_SCHEDULE

#define TPI_CLAUSE_SCHEDULE (   type)    CONCATENATE( schedule, type )

Definition at line 110 of file def_openmp.h.

◆ TPI_CLAUSE_SCHEDULE_CHUNK

#define TPI_CLAUSE_SCHEDULE_CHUNK (   type,
  chunk 
)    CONCATENATE( schedule, CONCATPARENTH( type, chunk ) )

Definition at line 111 of file def_openmp.h.

◆ TPI_CLAUSE_COPYIN

#define TPI_CLAUSE_COPYIN (   var)    CONCATENATE( copyin, var )

Definition at line 112 of file def_openmp.h.

◆ TPI_CLAUSE_FINAL

#define TPI_CLAUSE_FINAL (   var)    CONCATENATE( final, var )

Definition at line 113 of file def_openmp.h.

◆ TPI_CLAUSE_UNTIED

#define TPI_CLAUSE_UNTIED   untied

Definition at line 114 of file def_openmp.h.

◆ TPI_CLAUSE_MERGEABLE

#define TPI_CLAUSE_MERGEABLE   mergeable

Definition at line 115 of file def_openmp.h.

◆ TPI_CLAUSE_DEPEND

#define TPI_CLAUSE_DEPEND (   type,
  var 
)    CONCATENATE( depend, CONCATENATE( CONCATENATE( type, : ), var ) )

Definition at line 116 of file def_openmp.h.

◆ TPI_CLAUSE_PRIORITY

#define TPI_CLAUSE_PRIORITY (   var)    CONCATENATE( priority, var )

Definition at line 117 of file def_openmp.h.

◆ TPI_SHARED_DATA

#define TPI_SHARED_DATA (   name,
  members 
)
Value:
struct TPI_Shared_Data { \
members \
} name;

Definition at line 121 of file def_openmp.h.

◆ TPI_PRIVATE_DATA

#define TPI_PRIVATE_DATA (   name,
  members 
)
Value:
struct TPI_Private_Data { \
members \
} name;

Definition at line 125 of file def_openmp.h.

◆ TPI_FSTPRIVATE_DATA

#define TPI_FSTPRIVATE_DATA (   name,
  members 
)
Value:
struct TPI_FirstPrivate_Data { \
members \
} name;

Definition at line 129 of file def_openmp.h.

◆ TPI_LSTPRIVATE_DATA

#define TPI_LSTPRIVATE_DATA (   name,
  members 
)
Value:
struct TPI_LastPrivate_Data { \
members \
} name;

Definition at line 133 of file def_openmp.h.

◆ TPI_COPYIN_DATA

#define TPI_COPYIN_DATA (   name,
  members 
)
Value:
struct TPI_CopyIn_Data { \
members \
} name;

Definition at line 137 of file def_openmp.h.