OpenMP Extension

Located in file: MEL_omp.hpp

enum OMP::Schedule

Values:

STATIC = omp_sched_static
DYNAMIC = omp_sched_dynamic
GUIDED = omp_sched_guided
AUTO = omp_sched_auto
template <int NUM_THREADS, int CHUNK, Schedule SCHEDULE, typename T, T(*)(T &, T &) F>
void MEL::OMP::Functor::ARRAY_OP_FUNC(T *in, T *inout, int *len, MPI_Datatype *dptr)

Maps the given binary functor to the local array of a reduction / accumulate operation, using OpenMP for parallelism.

Parameters
  • in -

    The left hand array for the reduction

  • inout -

    The right hand array for the reduction. This array is modified to reflect the result of the functor on each element

  • len -

    Pointer to a single int representing the number of elements to be processed

  • dptr -

    Pointer to a single derived datatype representing the data to be processed

template <int NUM_THREADS, int CHUNK, Schedule SCHEDULE, typename T, T(*)(T &, T &) F>
MEL::Op MEL::OMP::OpCreate(bool commute = true)

Maps the given binary functor to the local array of a reduction / accumulate operation, using OpenMP for parallelism.

See
MPI_Op_create
Return
Returns a handle to a new Op
Parameters
  • commute -

    Is the operation commutative