alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::detail::ParallelFor< TKernel, TSchedule, TSfinae > Struct Template Reference

Executor of parallel OpenMP loop. More...

#include <TaskKernelCpuOmp2Blocks.hpp>

Public Member Functions

template<typename TLoopBody , typename TIdx >
ALPAKA_FN_HOST void operator() (TKernel const &kernel, TLoopBody &&loopBody, TIdx const numIterations, TSchedule const &schedule)
 Run parallel OpenMP loop. More...
 

Detailed Description

template<typename TKernel, typename TSchedule, typename TSfinae = void>
struct alpaka::detail::ParallelFor< TKernel, TSchedule, TSfinae >

Executor of parallel OpenMP loop.

Performs dispatch based on schedule kind and forwards to the corresponding ParallelForImpl. The default implementation is for the kernels that do not set schedule in any way, compile-time dispatch.

Template Parameters
TKernelThe kernel type.
TScheduleThe schedule type (not necessarily omp::Schedule).

Definition at line 609 of file TaskKernelCpuOmp2Blocks.hpp.

Member Function Documentation

◆ operator()()

template<typename TKernel , typename TSchedule , typename TSfinae = void>
template<typename TLoopBody , typename TIdx >
ALPAKA_FN_HOST void alpaka::detail::ParallelFor< TKernel, TSchedule, TSfinae >::operator() ( TKernel const &  kernel,
TLoopBody &&  loopBody,
TIdx const  numIterations,
TSchedule const &  schedule 
)
inline

Run parallel OpenMP loop.

Template Parameters
TLoopBodyThe loop body functor type.
TIdxThe index type.
Parameters
kernelThe kernel instance reference
loopBodyThe loop body functor instance, takes iteration index as input.
numIterationsThe number of loop iterations.
scheduleThe schedule object.

Definition at line 621 of file TaskKernelCpuOmp2Blocks.hpp.


The documentation for this struct was generated from the following file: