ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
|
#include <compile_time_options.h>
#include <deal.II/base/config.h>
#include <atomic>
#include <future>
Go to the source code of this file.
Classes | |
class | ryujin::SynchronizationDispatch |
Namespaces | |
namespace | ryujin |
Macros | |
OpenMP parallel for macros | |
Intended use: // serial work
// per thread work and thread-local storage declarations
for (unsigned int i = 0; i < size_internal; i += simd_length) {
// parallel for loop that is statically distributed on all available
// worker threads by slicing the interval [0,size_internal)
}
| |
#define | RYUJIN_PRAGMA(x) _Pragma(#x) |
#define | RYUJIN_PARALLEL_REGION_BEGIN |
#define | RYUJIN_PARALLEL_REGION_END } |
#define | RYUJIN_OMP_FOR RYUJIN_PRAGMA(omp for) |
#define | RYUJIN_OMP_FOR_NOWAIT RYUJIN_PRAGMA(omp for nowait) |
#define | RYUJIN_OMP_BARRIER RYUJIN_PRAGMA(omp barrier) |
#define | RYUJIN_OMP_CRITICAL RYUJIN_PRAGMA(omp critical) |
#define | RYUJIN_OMP_SINGLE RYUJIN_PRAGMA(omp single) |
#define | RYUJIN_LIKELY(x) (__builtin_expect(!!(x), 1)) |
#define | RYUJIN_UNLIKELY(x) (__builtin_expect(!!(x), 0)) |