alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::detail::ParallelFor< TKernel, TSchedule, UseScheduleKind< TKernel, TSchedule > > 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>
struct alpaka::detail::ParallelFor< TKernel, TSchedule, UseScheduleKind< TKernel, TSchedule > >

Executor of parallel OpenMP loop.

Performs dispatch based on schedule kind and forwards to the corresponding ParallelForImpl. Specialization for kernels with ompScheduleKind member, compile-time dispatch.

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

Definition at line 731 of file TaskKernelCpuOmp2Blocks.hpp.

Member Function Documentation

◆ operator()()

template<typename TKernel , typename TSchedule >
template<typename TLoopBody , typename TIdx >
ALPAKA_FN_HOST void alpaka::detail::ParallelFor< TKernel, TSchedule, UseScheduleKind< TKernel, TSchedule > >::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 743 of file TaskKernelCpuOmp2Blocks.hpp.


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