Toggle table of contents sidebar
Iterators¶Kokkos::Experimental::{begin, cbegin, end, cend}
¶
Header File: <Kokkos_StdAlgorithms.hpp>
Returns a Kokkos random access iterator to the beginning of view
Returns a Kokkos const-qualified random access iterator to the beginning of view
Returns a Kokkos random access iterator to the element past the end of view
Returns a const-qualified Kokkos random access iterator to the element past the end of view
the returned iterator is a random access for performance reasons
view
is taken as const
because, within each function, we are not changing the view itself: the returned iterator operates on the view without changing its structure.
dereferencing an iterator must be done within an execution space where view
is accessible
view
: must be a rank-1 view with LayoutLeft
, LayoutRight
, or LayoutStride
namespace KE = Kokkos::Experimental; using view_type = Kokkos::View<int*>; view_type a("a", 15); auto it = KE::begin(a); // if dereferenced (within a proper execution space), can modify the content of `a` auto itc = KE::cbegin(a); // if dereferenced (within a proper execution space), can only read the content of `a`
Kokkos::Experimental::distance
¶
Returns the number of steps needed to go from first
to last
.
first, last
: range to calculate the distance of
The number of steps needed to go from first
to last
. The value may be negative if random-access iterators are used.
namespace KE = Kokkos::Experimental; Kokkos::View<double*> a("a", 13); auto it1 = KE::begin(a); auto it2 = it1 + 4; const auto stepsA = KE::distance(it1, it2); // stepsA should be equal to 4 const auto stepsB = KE::distance(it2, it1); // stepsB should be equal to -4
Kokkos::Experimental::iter_swap
¶
Swaps the values of the elements the given iterators are pointing to.
first, last
: iterators to swap
Currently, the API does not have an execution space parameter because the operation is performed in the default execution space. The operation fences the default execution space.
Return¶None
Example¶namespace KE = Kokkos::Experimental; Kokkos::View<double*> a("a", 13); auto it1 = KE::begin(a); auto it2 = it1 + 4; KE::swap(it1, it2);
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4