16namespace alpaka::onHost::internal
18 struct SimdConcurrentKernel
21 onAcc::concepts::Acc
auto const& acc,
22 alpaka::concepts::VectorOrScalar
auto const& extents,
24 alpaka::concepts::IDataSource
auto&&... inputs)
const
26 Vec const extentMd = extents;
29 return simdGrid.concurrent(
32 [&func](
auto const& acc,
auto&&... in)
36 "The return type for a stencil concurrent functor should be void.");
43 template<
typename T_DataType>
44 inline void concurrent(
46 alpaka::concepts::Executor
auto const exec,
47 alpaka::concepts::VectorOrScalar
auto const& extents,
49 alpaka::concepts::IDataSource
auto&&... in)
51 Vec const extentMd = extents;
52 auto frameSpec = getFrameSpec<T_DataType>(
queue.getDevice(), exec, extentMd);
#define ALPAKA_FN_ACC
All functions that can be used on an accelerator have to be attributed with ALPAKA_FN_ACC or ALPAKA_F...
#define ALPAKA_FORWARD(instance)
Perfectly forward an instance as argument.
#define ALPAKA_LOG_INFO(logLvl, callable)
Write a meta data message to the output.
constexpr auto threadsInGrid
constexpr auto demangledName()
ALPAKA_FN_HOST_ACC Vec(T_1, T_Args...) -> Vec< T_1, uint32_t(sizeof...(T_Args)+1u), ArrayStorage< T_1, uint32_t(sizeof...(T_Args)+1u)> >
ALPAKA_FN_HOST KernelBundle(TKernelFn const &, TArgs &&...) -> KernelBundle< TKernelFn, TArgs... >
User defined deduction guide with trailing return type. For CTAD during the construction.
constexpr auto callFunctor(T_Acc const &acc, T_Functor &&functor, T_Args &&... args)
Execute the functor with or without an accelerator as first argument.