![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
pointer to a SIMD pack with the width T_SimdWidth More...
#include <SimdPtr.hpp>
Public Types | |
| using | IdxType = typename T_IdxType::UniVec |
| using | value_type = typename T_MdSpan::value_type |
Public Member Functions | |
| constexpr | SimdPtr (T_MdSpan const &mdSpan, T_IdxType const &idx, T_MemAlignment, T_SimdWidth) |
| constexpr IdxType | getIdx () const |
| offset in elements relative to the MdSpan given at construction | |
| constexpr decltype(auto) | load () |
| constexpr decltype(auto) | load () const |
| constexpr alpaka::concepts::SimdPtr auto | operator[] (auto const &idx) const |
| Shift the element the pointer is pointing to by idx. | |
| constexpr alpaka::concepts::SimdPtr auto | operator[] (auto const &idx) |
| Shift the element the pointer is pointing to by idx. | |
| template<typename T_Storage> | |
| constexpr void | storeTo (Simd< value_type, SimdPtr::width(), T_Storage > const &rhs) const |
| store the simd pack to the memory the pointer is pointing to | |
| template<typename T_Storage> | |
| constexpr void | storeTo (Simd< value_type, SimdPtr::width(), T_Storage > const &rhs) |
| store the simd pack to the memory the pointer is pointing to | |
| template<typename T_Storage> | |
| constexpr SimdPtr const & | operator= (Simd< value_type, SimdPtr::width(), T_Storage > const &rhs) const |
| store the simd pack to the memory the pointer is pointing to | |
| template<typename T_Storage> | |
| constexpr SimdPtr & | operator= (Simd< value_type, SimdPtr::width(), T_Storage > const &rhs) |
| store the simd pack to the memory the pointer is pointing to | |
Static Public Member Functions | |
| static constexpr auto | getAlignment () |
| get the alignment of the memory the pointer is pointing to | |
| static consteval uint32_t | width () |
Private Attributes | |
| IdxType | m_idx |
pointer to a SIMD pack with the width T_SimdWidth
The pointer is used to load/store data from/to memory
| T_MdSpan | type of the memory the pointer is pointing to |
| T_IdxType | type of the index |
| T_MemAlignment | alignment of the memory the pointer is pointing to |
| T_SimdWidth | width of the SIMD pack |
Definition at line 61 of file SimdPtr.hpp.
| using alpaka::SimdPtr< T_MdSpan, T_IdxType, T_MemAlignment, T_SimdWidth >::IdxType = typename T_IdxType::UniVec |
Definition at line 64 of file SimdPtr.hpp.
| using alpaka::SimdPtr< T_MdSpan, T_IdxType, T_MemAlignment, T_SimdWidth >::value_type = typename T_MdSpan::value_type |
Definition at line 63 of file SimdPtr.hpp.
|
inlineconstexpr |
Definition at line 71 of file SimdPtr.hpp.
|
inlinestaticconstexpr |
get the alignment of the memory the pointer is pointing to
Definition at line 139 of file SimdPtr.hpp.
|
inlineconstexpr |
offset in elements relative to the MdSpan given at construction
The index points to the first element followed by T_SimdWidth elements.
Definition at line 193 of file SimdPtr.hpp.
|
inlineconstexpr |
Definition at line 127 of file SimdPtr.hpp.
|
inlineconstexpr |
Definition at line 122 of file SimdPtr.hpp.
|
inlineconstexpr |
store the simd pack to the memory the pointer is pointing to
| rhs | simd pack to store |
Definition at line 179 of file SimdPtr.hpp.
|
inlineconstexpr |
store the simd pack to the memory the pointer is pointing to
| rhs | simd pack to store |
Definition at line 172 of file SimdPtr.hpp.
|
inlineconstexpr |
Shift the element the pointer is pointing to by idx.
| idx | number of elements to shift the pointer by |
Definition at line 102 of file SimdPtr.hpp.
|
inlineconstexpr |
Shift the element the pointer is pointing to by idx.
| idx | number of elements to shift the pointer by |
Definition at line 84 of file SimdPtr.hpp.
|
inlineconstexpr |
store the simd pack to the memory the pointer is pointing to
| rhs | simd pack to store |
Definition at line 165 of file SimdPtr.hpp.
|
inlineconstexpr |
store the simd pack to the memory the pointer is pointing to
| rhs | simd pack to store |
Definition at line 157 of file SimdPtr.hpp.
|
inlinestaticconsteval |
Definition at line 66 of file SimdPtr.hpp.
|
private |
Definition at line 199 of file SimdPtr.hpp.