diff --git a/include/cuco/bucket_storage.cuh b/include/cuco/bucket_storage.cuh index f6cec6048..aa074f7d2 100644 --- a/include/cuco/bucket_storage.cuh +++ b/include/cuco/bucket_storage.cuh @@ -38,7 +38,7 @@ template using window = bucket; /** - * @brief Non-owning AoW storage reference type. + * @brief Non-owning array of buckets storage reference type. * * @tparam T Storage element type * @tparam BucketSize Number of slots in each bucket @@ -47,7 +47,8 @@ using window = bucket; template > class bucket_storage_ref : public detail::bucket_storage_base { public: - using base_type = detail::bucket_storage_base; ///< AoW base class type + /// Array of buckets base class type + using base_type = detail::bucket_storage_base; using base_type::bucket_size; ///< Number of elements processed per bucket @@ -123,7 +124,7 @@ class bucket_storage_ref : public detail::bucket_storage_base>> class bucket_storage : public detail::bucket_storage_base { public: - using base_type = detail::bucket_storage_base; ///< AoW base class type + /// Array of buckets base class type + using base_type = detail::bucket_storage_base; using base_type::bucket_size; ///< Number of elements processed per bucket @@ -156,7 +158,7 @@ class bucket_storage : public detail::bucket_storage_base using ref_type = bucket_storage_ref; ///< Storage ref type /** - * @brief Constructor of AoW storage. + * @brief Constructor of bucket storage. * * @note The input `size` should be exclusively determined by the return value of * `make_bucket_extent` since it depends on the requested low-bound value, the probing scheme, and @@ -201,7 +203,7 @@ class bucket_storage : public detail::bucket_storage_base [[nodiscard]] constexpr ref_type ref() const noexcept; /** - * @brief Initializes each slot in the AoW storage to contain `key`. + * @brief Initializes each slot in the bucket storage to contain `key`. * * @param key Key to which all keys in `slots` are initialized * @param stream Stream used for executing the kernel @@ -209,7 +211,7 @@ class bucket_storage : public detail::bucket_storage_base void initialize(value_type key, cuda::stream_ref stream = {}); /** - * @brief Asynchronously initializes each slot in the AoW storage to contain `key`. + * @brief Asynchronously initializes each slot in the bucket storage to contain `key`. * * @param key Key to which all keys in `slots` are initialized * @param stream Stream used for executing the kernel @@ -219,7 +221,8 @@ class bucket_storage : public detail::bucket_storage_base private: allocator_type allocator_; ///< Allocator used to (de)allocate buckets bucket_deleter_type bucket_deleter_; ///< Custom buckets deleter - std::unique_ptr buckets_; ///< Pointer to AoW storage + /// Pointer to the bucket storage + std::unique_ptr buckets_; }; /// Alias for bucket_storage_ref diff --git a/include/cuco/detail/storage/bucket_storage_base.cuh b/include/cuco/detail/storage/bucket_storage_base.cuh index 1d9e58b46..4bf11feda 100644 --- a/include/cuco/detail/storage/bucket_storage_base.cuh +++ b/include/cuco/detail/storage/bucket_storage_base.cuh @@ -61,7 +61,7 @@ class bucket_storage_base : public storage_base { using bucket_type = bucket; ///< Slot bucket type /** - * @brief Constructor of AoW base storage. + * @brief Constructor of array of bucket base storage. * * @param size Number of buckets to store */ diff --git a/include/cuco/storage.cuh b/include/cuco/storage.cuh index edb565201..c9da5ca3c 100644 --- a/include/cuco/storage.cuh +++ b/include/cuco/storage.cuh @@ -26,11 +26,11 @@ namespace cuco { * @note This is a public interface used to control storage bucket size. A bucket consists of one * or multiple contiguous slots. The bucket size defines the workload granularity for each CUDA * thread, i.e., how many slots a thread would concurrently operate on when performing modify or - * lookup operations. cuCollections uses the AoW storage to supersede the raw flat slot storage due - * to its superior granularity control: When bucket size equals one, AoW performs the same as the - * flat storage. If the underlying operation is more memory bandwidth bound, e.g., high occupancy - * multimap operations, a larger bucket size can reduce the length of probing sequences thus improve - * runtime performance. + * lookup operations. cuCollections uses the array of bucket storage to supersede the raw flat slot + * storage due to its superior granularity control: When bucket size equals one, array of buckets + * performs the same as the flat storage. If the underlying operation is more memory bandwidth + * bound, e.g., high occupancy multimap operations, a larger bucket size can reduce the length of + * probing sequences thus improve runtime performance. * * @tparam BucketSize Number of elements per bucket storage */