LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
omp_pragma.hpp File Reference
#include "lbann_config.hpp"
#include <omp.h>
Include dependency graph for omp_pragma.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LBANN_OMP_PARALLEL_FOR_HELPER(arg)   #arg
 
#define LBANN_OMP_PARALLEL_FOR_TEXT(arg)   LBANN_OMP_PARALLEL_FOR_HELPER(omp parallel for arg)
 
#define LBANN_OMP_PARALLEL_FOR_ARGS(arg)   _Pragma(LBANN_OMP_PARALLEL_FOR_TEXT(arg))
 
#define LBANN_OMP_PARALLEL_FOR   _Pragma("omp parallel for")
 
#define LBANN_OMP_PARALLEL_FOR_COLLAPSE2   _Pragma("omp parallel for collapse(2)")
 
#define LBANN_OMP_PARALLEL_FOR_COLLAPSE3   _Pragma("omp parallel for collapse(3)")
 
#define LBANN_OMP_PARALLEL_FOR_COLLAPSE4   _Pragma("omp parallel for collapse(4)")
 
#define LBANN_OMP_PARALLEL_FOR_COLLAPSE5   _Pragma("omp parallel for collapse(5)")
 
#define LBANN_OMP_PARALLEL_HELPER(arg)   #arg
 
#define LBANN_OMP_PARALLEL_TEXT(arg)   LBANN_OMP_PARALLEL_HELPER(omp parallel arg)
 
#define LBANN_OMP_PARALLEL_ARGS(arg)   _Pragma(LBANN_OMP_PARALLEL_TEXT(arg))
 
#define LBANN_OMP_PARALLEL   _Pragma("omp parallel")
 
#define LBANN_OMP_ATOMIC   _Pragma("omp atomic")
 
#define OMP_CRITICAL   _Pragma("omp critical")
 

Macro Definition Documentation

◆ LBANN_OMP_ATOMIC

#define LBANN_OMP_ATOMIC   _Pragma("omp atomic")

Definition at line 79 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL

#define LBANN_OMP_PARALLEL   _Pragma("omp parallel")

Definition at line 78 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_ARGS

#define LBANN_OMP_PARALLEL_ARGS (   arg)    _Pragma(LBANN_OMP_PARALLEL_TEXT(arg))

Definition at line 76 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR

#define LBANN_OMP_PARALLEL_FOR   _Pragma("omp parallel for")

Definition at line 67 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR_ARGS

#define LBANN_OMP_PARALLEL_FOR_ARGS (   arg)    _Pragma(LBANN_OMP_PARALLEL_FOR_TEXT(arg))

Definition at line 64 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR_COLLAPSE2

#define LBANN_OMP_PARALLEL_FOR_COLLAPSE2   _Pragma("omp parallel for collapse(2)")

Definition at line 68 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR_COLLAPSE3

#define LBANN_OMP_PARALLEL_FOR_COLLAPSE3   _Pragma("omp parallel for collapse(3)")

Definition at line 69 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR_COLLAPSE4

#define LBANN_OMP_PARALLEL_FOR_COLLAPSE4   _Pragma("omp parallel for collapse(4)")

Definition at line 70 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR_COLLAPSE5

#define LBANN_OMP_PARALLEL_FOR_COLLAPSE5   _Pragma("omp parallel for collapse(5)")

Definition at line 71 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR_HELPER

#define LBANN_OMP_PARALLEL_FOR_HELPER (   arg)    #arg

Allow OpenMP parallel for loops to be replaced with taskloop constructs Requires OpenMP 5.0 support for taskloop reduction clauses

Definition at line 62 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_FOR_TEXT

#define LBANN_OMP_PARALLEL_FOR_TEXT (   arg)    LBANN_OMP_PARALLEL_FOR_HELPER(omp parallel for arg)

Definition at line 63 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_HELPER

#define LBANN_OMP_PARALLEL_HELPER (   arg)    #arg

Definition at line 74 of file omp_pragma.hpp.

◆ LBANN_OMP_PARALLEL_TEXT

#define LBANN_OMP_PARALLEL_TEXT (   arg)    LBANN_OMP_PARALLEL_HELPER(omp parallel arg)

Definition at line 75 of file omp_pragma.hpp.

◆ OMP_CRITICAL

#define OMP_CRITICAL   _Pragma("omp critical")

Definition at line 80 of file omp_pragma.hpp.