19 #include <type_traits>
29 template<
typename TAcc>
36 template<
typename T,
typename TSfinae =
void>
44 template<
typename TAcc,
typename TSfinae =
void>
54 template<
typename TAcc,
typename TSfinae =
void>
60 template<
typename TAcc,
typename TSfinae =
void>
66 template<
typename TAcc,
typename TSfinae =
void>
71 return core::demangled<TAcc>;
81 template<
typename TAcc>
85 template<
typename TAcc>
89 template<
typename TAcc,
typename TDev>
99 template<
typename TAcc>
107 template<
typename TAcc,
typename TProperty>
108 struct QueueType<TAcc, TProperty, std::enable_if_t<interface::ImplementsInterface<ConceptAcc, TAcc>::value>>
typename detail::ImplementationBaseType< TInterface, TDerived >::type ImplementationBase
Returns the type that implements the given interface in the inheritance hierarchy.
The alpaka accelerator library.
typename trait::IdxType< T >::type Idx
constexpr bool isAccelerator
True if TAcc is an accelerator, i.e. if it implements the ConceptAcc concept.
ALPAKA_FN_HOST auto getAccDevProps(TDev const &dev) -> AccDevProps< Dim< TAcc >, Idx< TAcc >>
constexpr bool isSingleThreadAcc
True if TAcc is an accelerator that supports only a single thread per block, false otherwise.
constexpr bool isMultiThreadAcc
True if TAcc is an accelerator that supports multiple threads per block, false otherwise.
ALPAKA_FN_HOST auto getAccName() -> std::string
typename trait::AccType< T >::type Acc
The accelerator type trait alias template to remove the ::type.
The acceleration properties on a device.
Checks whether the interface is implemented by the given class.
The accelerator type trait.
The device properties get trait.
The accelerator name trait.
static ALPAKA_FN_HOST auto getAccName() -> std::string
The multi thread accelerator trait.
The single thread accelerator trait.
typename QueueType< typename alpaka::trait::PlatformType< TAcc >::type, TProperty >::type type
Queue for an accelerator.