Skip to content

Commit

Permalink
kokkos#120: - resolved merge conflicts and merge main
Browse files Browse the repository at this point in the history
  • Loading branch information
Marcin Wróbel committed Sep 5, 2022
2 parents 78c1d22 + d8411c7 commit 7e11329
Show file tree
Hide file tree
Showing 39 changed files with 367 additions and 523 deletions.
2 changes: 1 addition & 1 deletion docs/source/API/algorithms/Sort.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ template<class KeyViewType> struct BinOp1D { }
template<class KeyViewType> struct BinOp3D { }


template<class ViewType> void sort( ViewType const & view , bool const always_use_kokkos_sort = false) { }
template<class ViewType> void sort( ViewType const & view ) { }

template<class ViewType> void sort( ViewType view, size_t const begin, size_t const end ) { }
31 changes: 0 additions & 31 deletions docs/source/API/algorithms/std-algorithms/StdMinMaxElement.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,18 +101,8 @@ auto min_element(const std::string& label, (8)
bool operator()(const value_type & a, const value_type & b) const {
return /* true if a is less than b, based on your logic of "less than" */;
}
KOKKOS_INLINE_FUNCTION
bool operator()(const volatile value_type a, const volatile value_type b) const {
return /* true if a is less than b, based on your logic of "less than" */;
}
};
```
- the volatile overload is needed because the algorithm is
currently implemented as a reduction, where the `comp` functor is used
as the ``joiner'' to join two values. The current Kokkos implementation
of reductions requires any custom joiner to have
a volatile overload: see [Custom Reductions](../../../../ProgrammingGuide/Custom-Reductions) for more info on reductions.

### Return

Expand Down Expand Up @@ -148,13 +138,6 @@ struct CustomLessThanComparator {
return a < b;
}

KOKKOS_INLINE_FUNCTION
bool operator()(const volatile ValueType1& a,
const volatile ValueType1& b) const {
// here we use < but one can put any custom logic to return true if a is less than b
return a < b;
}

KOKKOS_INLINE_FUNCTION
CustomLessThanComparator() {}
};
Expand Down Expand Up @@ -267,13 +250,6 @@ struct CustomLessThanComparator {
return a < b;
}

KOKKOS_INLINE_FUNCTION
bool operator()(const volatile ValueType1& a,
const volatile ValueType1& b) const {
// here we use < but one can put any custom logic to return true if a is less than b
return a < b;
}

KOKKOS_INLINE_FUNCTION
CustomLessThanComparator() {}
};
Expand Down Expand Up @@ -391,13 +367,6 @@ struct CustomLessThanComparator {
return a < b;
}

KOKKOS_INLINE_FUNCTION
bool operator()(const volatile ValueType1& a,
const volatile ValueType1& b) const {
// here we use < but one can put any custom logic to return true if a is less than b
return a < b;
}

KOKKOS_INLINE_FUNCTION
CustomLessThanComparator() {}
};
Expand Down
21 changes: 0 additions & 21 deletions docs/source/API/algorithms/std-algorithms/StdNumeric.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,12 +146,6 @@ ValueType reduce(const std::string& label, const ExecutionSpace& exespace,
constexpr ValueType operator()(const ValueType& a, const ValueType& b) const {
return /* ... */
}
KOKKOS_FUNCTION
constexpr ValueType operator()(const volatile ValueType& a,
const volatile ValueType& b) const {
return /* ... */
}
};
```
- The behavior is non-deterministic if the `joiner` operation
Expand Down Expand Up @@ -372,12 +366,6 @@ ValueType transform_reduce(const std::string& label,
const ValueType& b) const {
return /* ... */
}
KOKKOS_FUNCTION
constexpr ValueType operator()(const volatile ValueType& a,
const volatile ValueType& b) const {
return /* ... */
}
};
```
- The behavior is non-deterministic if the `joiner` operation
Expand Down Expand Up @@ -557,21 +545,12 @@ Exclusive means that the i-th input element is not included in the i-th sum.
const value_type & b) const {
return /* ... */;
}
return_type operator()(const volatile value_type & a,
const volatile value_type & b) const {
return /* ... */;
}
};
```
The return type `return_type` must be such that an object of type `OutputIteratorType`
for (1,2,5,6) or an object of type `value_type` where `value_type` is the
value type of `view_dest` for (3,4,7,8) can be dereferenced and assigned a value of type `return_type`.

- the volatile overload is needed for correctness by the current Kokkos
implementation of prefix scan operations


### Return

Iterator to the element *after* the last element written.
Expand Down
11 changes: 0 additions & 11 deletions docs/source/API/algorithms/std-algorithms/StdSorting.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,19 +100,8 @@ bool is_sorted(const std::string& label, const ExecutionSpace& exespace, (8)
bool operator()(const value_type & a, const value_type & b) const {
return /* true if a is less than b, based on your logic of "less than" */;
}
KOKKOS_INLINE_FUNCTION
bool operator()(const volatile value_type a, const volatile value_type b) const {
return /* true if a is less than b, based on your logic of "less than" */;
}
};
```
- the volatile overload is needed because the algorithm is
currently implemented as a reduction, where the `comp` functor is used
as the ``joiner'' to join two values. The current Kokkos implementation
of reductions requires any custom joiner to have
a volatile overload: see [this wiki page](https://github.com/kokkos/kokkos/wiki/Programming-Guide%3A-Custom-Reductions) for more info on reductions.


### Return

Expand Down
10 changes: 6 additions & 4 deletions docs/source/API/alphabetical.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,14 @@ All functions and classes listed here are part of the `Kokkos::` namespace.
| [MinMaxLoc](core/builtinreducers/MinMaxLoc) | [Core](core-index) | [Built-in Reducers](core/builtin_reducers) | Reducer for Reduction providing both minimum and maximum and associated indicies |
| [OpenMP](OpenMP) | [Core](core-index) | [Spaces](core/Spaces) | Execution space using non-target OpenMP parallel execution mechanisms. |
| [OpenMPTarget](OpenMPTarget) | [Core](core-index) | [Spaces](core/Spaces) | Execution space using targetoffload OpenMP parallel execution mechanisms. |
| [pair](core/stl-compat/pair) | [Core](core-index) | [STL Compatibility](core/STL-Compatibility) | Device compatible std::pair analogue
| [pair](core/stl-compat/pair) | [Core](core-index) | [STL Compatibility](core/STL-Compatibility) | Device compatible std::pair analogue |
| [parallel_for](core/parallel-dispatch/parallel_for) | [Core](core-index) | | Bulk execute of independent work items. |
| [ParallelForTag](core/parallel-dispatch//ParallelForTag) | [Core](core-index) | | Tag passed to team\_size functions
| [ParallelForTag](core/parallel-dispatch//ParallelForTag) | [Core](core-index) | | Tag passed to team\_size functions |
| [parallel_reduce](core/parallel-dispatch/parallel_reduce) | [Core](core-index) | | Bulk execute of independent work items, which contribute to a reduction. |
| [ParallelReduceTag](core/parallel-dispatch//ParallelReduceTag) | [Core](core-index) | | Tag passed to team\_size functions
| [ParallelReduceTag](core/parallel-dispatch//ParallelReduceTag) | [Core](core-index) | | Tag passed to team\_size functions |
| [parallel_scan](core/parallel-dispatch/parallel_scan) | [Core](core-index) | | Bulk execute of work items, which a simple pre- or postfix scan dependency. |
| [ParallelScanTag](core/parallel-dispatch//ParallelScanTag) | [Core](core-index) | | Tag passed to team\_size functions
| [ParallelScanTag](core/parallel-dispatch//ParallelScanTag) | [Core](core-index) | | Tag passed to team\_size functions |
| [partition_space](core/spaces/partition_space) | [Core](core-index) | [Spaces](core/Spaces) | Split an existing execution space instance into multiple |
| [PerTeam](PerTeam) | [Core](core-index) | [Execution Policies](core/Execution-Policies) | Policy used in single construct to indicate once per team execution. |
| [PerThread](PerThread) | [Core](core-index) | [Execution Policies](core/Execution-Policies) | Policy used in single construct to indicate once per thread execution. |
| [Prod](core/builtinreducers/Prod) | [Core](core-index) | [Built-in Reducers](core/builtin_reducers) | Reducer for Multiplicative reduction |
Expand All @@ -104,6 +105,7 @@ All functions and classes listed here are part of the `Kokkos::` namespace.
| [Serial](Serial) | [Core](core-index) | [Spaces](core/Spaces) | Execution space using serial execution the CPU. |
| [ScopeGuard](core/initialize_finalize/ScopeGuard) | [Core](core-index) | [Initialization and Finalization](core/Initialize-and-Finalize) | class to aggregate initializing and finalizing Kokkos |
| [SpaceAccessibility](core/SpaceAccessibility) | [Core](core-index) | [Spaces](core/Spaces) | Facility to query accessibility rules between execution and memory spaces. |
| [Subview](core/view/Subview) | [Core](core-index) | [View](core/View) | Type of multi-dimensional array which is returned by the subview function |
| [subview](core/view/subview) | [Core](core-index) | [View](core/View) | Crating multi-dimensional array which is a slice of a view |
| [Sum](core/builtinreducers/Sum) | [Core](core-index) | [Built-in Reducers](core/builtin_reducers) | Reducer for Sum reduction |
| [TeamHandle concept](core/policies/TeamHandleConcept) | [Core](core-index) | [Execution Policies](core/Execution-Policies) | Provides the concept for the `member_type` of a [TeamPolicy](core/policies/TeamPolicy). |
Expand Down
203 changes: 0 additions & 203 deletions docs/source/API/containers/Bitset.md

This file was deleted.

Loading

0 comments on commit 7e11329

Please sign in to comment.