21 template<
typename T_DataType>
25 T_DataType
const& initValue,
39 T_DataType linearBaseOffset
40 =
static_cast<T_DataType
>(
linearize(extents, iotaOffsetMd)) + initValue;
42 = SimdType([&](
auto const& laneId)
constexpr
43 {
return linearBaseOffset +
static_cast<T_DataType
>(laneId); });
52 template<
typename T_DataType>
57 T_DataType
const& initValue,
60 Vec const extentMd = extents;
The class used to bind kernel function object and arguments together. Once an instance of this class ...
#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_TYPEOF(...)
Get the type of instance.
#define ALPAKA_FORWARD(instance)
Perfectly forward an instance as argument.
Concept to check for an executor.
Interface concept for objects describing multidimensional memory access.
Concept to check if a type is a SIMD pointer.
Concept to check if a type is a vector.
Concept to check if a type is an accelerator.
#define ALPAKA_LOG_INFO(logLvl, callable)
Write a meta data message to the output.
constexpr auto threadsInGrid
constexpr auto getSimdFrameSpec(auto const &internalDevice, alpaka::concepts::Executor auto executor, alpaka::concepts::VectorOrScalar auto const &extents)
Provides a SIMD optimized frame specification.
void iota(auto const &queue, alpaka::concepts::Executor auto const exec, alpaka::concepts::Vector auto const &extents, T_DataType const &initValue, alpaka::concepts::IMdSpan auto &&... inputs)
constexpr auto demangledName()
typename GetValueType< T >::type GetValueType_t
constexpr T_IntegralType linearize(Vec< T_IntegralType, T_dim - 1u, T_Storage > const &dim, Vec< T_IntegralType, T_dim, T_OtherStorage > const &idx)
Give the linear index of an N-dimensional index within an N-dimensional index space.
constexpr decltype(auto) pCast(auto &&input)
Performs a static_cast on the storage type of combined data type.
Creates a functor operate on contiguous data concurrently.
ALPAKA_FN_INLINE ALPAKA_FN_ACC constexpr void concurrent(auto const &acc, auto &&func, alpaka::concepts::IDataSource auto &&data0, alpaka::concepts::IDataSource auto &&... dataN) const
execute the functor concurrently over the given data.
ALPAKA_FN_ACC void operator()(onAcc::concepts::Acc auto const &acc, alpaka::concepts::Vector auto extents, T_DataType const &initValue, alpaka::concepts::IMdSpan auto &&... inputs) const