69 typename T_ScalarIdxType,
71 typename T_DomainSpec,
73 typename T_IdxMapping>
78 T_DomainSpec
const& domainSpec,
79 [[maybe_unused]] T_Traverse
traverse,
83 auto const idxRange = domainSpec.getIdxRange(acc);
84 auto const threadSpace = domainSpec.getThreadSpace(acc);
86 using IdxType = std::conditional_t<
87 std::is_same_v<void, T_ScalarIdxType>,
90 return T_Traverse::make(
101 T_DomainSpec
const& domainSpec,
102 [[maybe_unused]] T_Traverse
traverse,
103 T_IdxMapping idxMapping)
const
105 auto const idxRange = domainSpec.getIdxRange(acc);
106 auto const threadSpace = domainSpec.getThreadSpace(acc);
108 using IdxType = std::conditional_t<
109 std::is_same_v<void, T_ScalarIdxType>,
112 return T_Traverse::make(
#define ALPAKA_FN_HOST_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.
constexpr bool isIdxMapping_v
constexpr bool isIdxTraversing_v
constexpr auto adjustMapping(auto const &acc)
consteval auto iotaCVec()
Create and return a CVector of the given length with values 1, 2, ...
constexpr decltype(auto) pCast(auto &&input)
Performs a static_cast on the storage type of combined data type.
ALPAKA_FN_HOST_ACC constexpr auto operator()(T_Acc const &acc, T_DomainSpec const &domainSpec, T_Traverse traverse, T_IdxMapping idxMapping) const
ALPAKA_FN_HOST_ACC constexpr auto operator()(T_Acc const &acc, T_DomainSpec const &domainSpec, T_Traverse traverse, T_IdxMapping idxMapping) const
The index layout will automatically selected based on the executor.