alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::onAcc::Acc< T_Storage > Struct Template Reference

#include <Acc.hpp>

Inheritance diagram for alpaka::onAcc::Acc< T_Storage >:

Public Member Functions

constexpr Acc (Acc &&)=delete
constexpr Acc (Acc const &)=delete
constexpr Acc (T_Storage const &storage)
constexpr auto getApi () const
constexpr auto getDeviceKind () const
constexpr auto getExecutor () const
constexpr alpaka::concepts::Vector auto getExtentsOf (concepts::Origin auto origin, concepts::Unit auto unit) const
 Get the n-dimensional extents of an origin in the quantity of the selected unit.
constexpr alpaka::concepts::Vector auto getIdxWithin (concepts::Origin auto origin, concepts::Unit auto unit) const
 Get the n-dimensional indices within the origin in the quantity of the selected unit.
constexpr Accoperator= (Acc &&)=delete
constexpr Accoperator= (Acc const &)=delete

Static Public Member Functions

static constexpr uint32_t getWarpSize ()
 Get the warp size.
static constexpr bool hasKey (auto key)
static constexpr bool launchedWithFrameSpec ()
 Check if a frame spec was used to enqueue the kernel.

Detailed Description

template<typename T_Storage>
struct alpaka::onAcc::Acc< T_Storage >

Definition at line 22 of file Acc.hpp.

Constructor & Destructor Documentation

◆ Acc() [1/3]

template<typename T_Storage>
alpaka::onAcc::Acc< T_Storage >::Acc ( T_Storage const & storage)
inlineconstexpr

Definition at line 24 of file Acc.hpp.

◆ Acc() [2/3]

template<typename T_Storage>
alpaka::onAcc::Acc< T_Storage >::Acc ( Acc< T_Storage > const & )
constexprdelete

◆ Acc() [3/3]

template<typename T_Storage>
alpaka::onAcc::Acc< T_Storage >::Acc ( Acc< T_Storage > && )
constexprdelete

Member Function Documentation

◆ getApi()

template<typename T_Storage>
auto alpaka::onAcc::Acc< T_Storage >::getApi ( ) const
inlineconstexpr

Definition at line 65 of file Acc.hpp.

◆ getDeviceKind()

template<typename T_Storage>
auto alpaka::onAcc::Acc< T_Storage >::getDeviceKind ( ) const
inlineconstexpr

Definition at line 70 of file Acc.hpp.

◆ getExecutor()

template<typename T_Storage>
auto alpaka::onAcc::Acc< T_Storage >::getExecutor ( ) const
inlineconstexpr

Definition at line 75 of file Acc.hpp.

◆ getExtentsOf()

template<typename T_Storage>
alpaka::concepts::Vector auto alpaka::onAcc::Acc< T_Storage >::getExtentsOf ( concepts::Origin auto origin,
concepts::Unit auto unit ) const
inlineconstexpr

Get the n-dimensional extents of an origin in the quantity of the selected unit.

Attention
if origin or unit is warp/s a one dimensional vector is returned

Definition at line 50 of file Acc.hpp.

◆ getIdxWithin()

template<typename T_Storage>
alpaka::concepts::Vector auto alpaka::onAcc::Acc< T_Storage >::getIdxWithin ( concepts::Origin auto origin,
concepts::Unit auto unit ) const
inlineconstexpr

Get the n-dimensional indices within the origin in the quantity of the selected unit.

Attention
if origin or unit is warp/s a one dimensional vector is returned

Definition at line 37 of file Acc.hpp.

◆ getWarpSize()

template<typename T_Storage>
constexpr uint32_t alpaka::onAcc::Acc< T_Storage >::getWarpSize ( )
inlinestaticconstexpr

Get the warp size.

To be able to use the warp size as constexpr value you must call the static function via the type Acc_t::getWarpSize() else the warp size can only be used as runtime value. Alternative you can use the free function onAcc::warp::getSize<Acc_t>();

Definition at line 104 of file Acc.hpp.

◆ hasKey()

template<typename T_Storage>
constexpr bool alpaka::onAcc::Acc< T_Storage >::hasKey ( auto key)
inlinestaticconstexpr

Definition at line 59 of file Acc.hpp.

◆ launchedWithFrameSpec()

template<typename T_Storage>
constexpr bool alpaka::onAcc::Acc< T_Storage >::launchedWithFrameSpec ( )
inlinestaticconstexpr

Check if a frame spec was used to enqueue the kernel.

To be able to use the result as constexpr value you must call the static function via the type Acc_t::launchedWithFrameSpec() else the warp size can only be used as runtime value.

If the kernel was enqueued via a frame specification the thread specification to within the kernel can differ, the number of thread block is not necessarily equal to the number of frames and the thread block extent is not necessarily equal to the frame extents.

Returns
true if the kernel was launched based on a frame specification, false if a thread specification was used.

Definition at line 92 of file Acc.hpp.

◆ operator=() [1/2]

template<typename T_Storage>
Acc & alpaka::onAcc::Acc< T_Storage >::operator= ( Acc< T_Storage > && )
constexprdelete

◆ operator=() [2/2]

template<typename T_Storage>
Acc & alpaka::onAcc::Acc< T_Storage >::operator= ( Acc< T_Storage > const & )
constexprdelete

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