Skip to content

Commit fbbee7d

Browse files
committed
Update docs
1 parent 69a4223 commit fbbee7d

File tree

4 files changed

+54
-34
lines changed

4 files changed

+54
-34
lines changed

include/cuco/detail/open_addressing/kernels.cuh

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,34 @@ CUCO_KERNEL __launch_bounds__(BlockSize) void find(InputIt first,
399399
}
400400
}
401401

402-
// TODO docs
402+
/**
403+
* @brief Retrieves the equivalent container elements of all keys in the range `[input_probe,
404+
* input_probe + n)`.
405+
*
406+
* If key `k = *(input_probe + i)` has one or more matches in the container, copies `k` to
407+
* `output_probe` and associated slot contents to `output_match`, respectively. The output order is
408+
* unspecified.
409+
*
410+
* @tparam IsOuter Flag indicating whether it's an outer count or not
411+
* @tparam block_size The size of the thread block
412+
* @tparam InputProbeIt Device accessible input iterator
413+
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
414+
* convertible to the `InputProbeIt`'s `value_type`
415+
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
416+
* convertible to the container's `value_type`
417+
* @tparam AtomicCounter Integral atomic type that follows the same semantics as
418+
* `cuda::(std::)atomic(_ref)`
419+
* @tparam Ref Type of non-owning device ref allowing access to storage
420+
*
421+
* @param input_probe Beginning of the sequence of input keys
422+
* @param n Number of the keys to query
423+
* @param output_probe Beginning of the sequence of keys corresponding to matching elements in
424+
* `output_match`
425+
* @param output_match Beginning of the sequence of matching elements
426+
* @param atomic_counter Pointer to an atomic object of integral type that is used to count the
427+
* number of output elements
428+
* @param ref Non-owning container device ref used to access the slot storage
429+
*/
403430
template <bool IsOuter,
404431
int32_t BlockSize,
405432
class InputProbeIt,

include/cuco/detail/open_addressing/open_addressing_impl.cuh

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -585,10 +585,9 @@ class open_addressing_impl {
585585
*
586586
* This function synchronizes the given CUDA stream.
587587
*
588-
* @tparam InputProbeIt Device accessible input iterator whose `value_type` is
589-
* convertible to the container's `key_type`
588+
* @tparam InputProbeIt Device accessible input iterator
590589
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
591-
* convertible to the container's `key_type`
590+
* convertible to the `InputProbeIt`'s `value_type`
592591
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
593592
* convertible to the container's `value_type`
594593
* @tparam Ref Type of non-owning device container ref allowing access to storage
@@ -630,10 +629,9 @@ class open_addressing_impl {
630629
*
631630
* This function synchronizes the given CUDA stream.
632631
*
633-
* @tparam InputProbeIt Device accessible input iterator whose `value_type` is
634-
* convertible to the container's `key_type`
632+
* @tparam InputProbeIt Device accessible input iterator
635633
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
636-
* convertible to the container's `key_type`
634+
* convertible to the `InputProbeIt`'s `value_type`
637635
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
638636
* convertible to the container's `value_type`
639637
* @tparam Ref Type of non-owning device container ref allowing access to storage

include/cuco/detail/open_addressing/open_addressing_ref_impl.cuh

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -989,23 +989,22 @@ class open_addressing_ref_impl {
989989
* Use `count()` to determine the size of the output range.
990990
*
991991
* @tparam BlockSize Size of the thread block this operation is executed in
992-
* @tparam InputProbeIt Device accessible input iterator whose `value_type` is
993-
* convertible to the container's `key_type`
992+
* @tparam InputProbeIt Device accessible input iterator
994993
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
995-
* convertible to the container's `key_type`
994+
* convertible to the `InputProbeIt`'s `value_type`
996995
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
997996
* convertible to the container's `value_type`
998-
* @tparam AtomicCounter Atomic counter type that follows the same semantics as
999-
* `cuda::atomic(_ref)`
997+
* @tparam AtomicCounter Integral atomic counter type that follows the same semantics as
998+
* `cuda::(std::)atomic(_ref)`
1000999
*
10011000
* @param block Thread block this operation is executed in
10021001
* @param input_probe_begin Beginning of the input sequence of keys
10031002
* @param input_probe_end End of the input sequence of keys
10041003
* @param output_probe Beginning of the sequence of keys corresponding to matching elements in
10051004
* `output_match`
10061005
* @param output_match Beginning of the sequence of matching elements
1007-
* @param atomic_counter Counter that is used to determine the next free position in the output
1008-
* sequences
1006+
* @param atomic_counter Pointer to an atomic object of integral type that is used to count the
1007+
* number of output elements
10091008
*/
10101009
template <int32_t BlockSize,
10111010
class InputProbeIt,
@@ -1039,23 +1038,22 @@ class open_addressing_ref_impl {
10391038
* to the output sequence.
10401039
*
10411040
* @tparam BlockSize Size of the thread block this operation is executed in
1042-
* @tparam InputProbeIt Device accessible input iterator whose `value_type` is
1043-
* convertible to the container's `key_type`
1041+
* @tparam InputProbeIt Device accessible input iterator
10441042
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
1045-
* convertible to the container's `key_type`
1043+
* convertible to the `InputProbeIt`'s `value_type`
10461044
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
10471045
* convertible to the container's `value_type`
1048-
* @tparam AtomicCounter Atomic counter type that follows the same semantics as
1049-
* `cuda::atomic(_ref)`
1046+
* @tparam AtomicCounter Integral atomic counter type that follows the same semantics as
1047+
* `cuda::(std::)atomic(_ref)`
10501048
*
10511049
* @param block Thread block this operation is executed in
10521050
* @param input_probe_begin Beginning of the input sequence of keys
10531051
* @param input_probe_end End of the input sequence of keys
10541052
* @param output_probe Beginning of the sequence of keys corresponding to matching elements in
10551053
* `output_match`
10561054
* @param output_match Beginning of the sequence of matching elements
1057-
* @param atomic_counter Counter that is used to determine the next free position in the output
1058-
* sequences
1055+
* @param atomic_counter Pointer to an atomic object of integral type that is used to count the
1056+
* number of output elements
10591057
*/
10601058
template <int32_t BlockSize,
10611059
class InputProbeIt,
@@ -1090,23 +1088,22 @@ class open_addressing_ref_impl {
10901088
*
10911089
* @tparam IsOuter Flag indicating if an inner or outer retrieve operation should be performed
10921090
* @tparam BlockSize Size of the thread block this operation is executed in
1093-
* @tparam InputProbeIt Device accessible input iterator whose `value_type` is
1094-
* convertible to the container's `key_type`
1091+
* @tparam InputProbeIt Device accessible input iterator
10951092
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
1096-
* convertible to the container's `key_type`
1093+
* convertible to the `InputProbeIt`'s `value_type`
10971094
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
10981095
* convertible to the container's `value_type`
1099-
* @tparam AtomicCounter Atomic counter type that follows the same semantics as
1100-
* `cuda::atomic(_ref)`
1096+
* @tparam AtomicCounter Integral atomic type that follows the same semantics as
1097+
* `cuda::(std::)atomic(_ref)`
11011098
*
11021099
* @param block Thread block this operation is executed in
11031100
* @param input_probe_begin Beginning of the input sequence of keys
11041101
* @param input_probe_end End of the input sequence of keys
11051102
* @param output_probe Beginning of the sequence of keys corresponding to matching elements in
11061103
* `output_match`
11071104
* @param output_match Beginning of the sequence of matching elements
1108-
* @param atomic_counter Counter that is used to determine the next free position in the output
1109-
* sequences
1105+
* @param atomic_counter Pointer to an atomic object of integral type that is used to count the
1106+
* number of output elements
11101107
*/
11111108
template <bool IsOuter,
11121109
int32_t BlockSize,

include/cuco/static_multiset.cuh

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -487,10 +487,9 @@ class static_multiset {
487487
*
488488
* This function synchronizes the given CUDA stream.
489489
*
490-
* @tparam InputProbeIt Device accessible input iterator whose `value_type` is
491-
* convertible to the container's `key_type`
490+
* @tparam InputProbeIt Device accessible input iterator
492491
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
493-
* convertible to the container's `key_type`
492+
* convertible to the `InputProbeIt`'s `value_type`
494493
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
495494
* convertible to the container's `value_type`
496495
*
@@ -524,10 +523,9 @@ class static_multiset {
524523
*
525524
* This function synchronizes the given CUDA stream.
526525
*
527-
* @tparam InputProbeIt Device accessible input iterator whose `value_type` is
528-
* convertible to the container's `key_type`
526+
* @tparam InputProbeIt Device accessible input iterator
529527
* @tparam OutputProbeIt Device accessible input iterator whose `value_type` is
530-
* convertible to the container's `key_type`
528+
* convertible to the `InputProbeIt`'s `value_type`
531529
* @tparam OutputMatchIt Device accessible input iterator whose `value_type` is
532530
* convertible to the container's `value_type`
533531
*

0 commit comments

Comments
 (0)