cub/1.17.2

Cooperative primitives for CUDA C++
Recipe info
BSD 3-Clause
2023-10-03

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
cub/1.17.2

Using cub

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
cub/1.17.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("cub/1.17.2")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): cub
  • CMake target name(s): CUB::CUB
  • pkg-config file name(s): cub.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(cub REQUIRED)
# ...
target_link_libraries(YOUR_TARGET CUB::CUB)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the cub homepage listed above:

#include "cub/agent/agent_adjacent_difference.cuh"
#include "cub/agent/agent_histogram.cuh"
#include "cub/agent/agent_merge_sort.cuh"
#include "cub/agent/agent_radix_sort_downsweep.cuh"
#include "cub/agent/agent_radix_sort_histogram.cuh"
#include "cub/agent/agent_radix_sort_onesweep.cuh"
#include "cub/agent/agent_radix_sort_upsweep.cuh"
#include "cub/agent/agent_reduce.cuh"
#include "cub/agent/agent_reduce_by_key.cuh"
#include "cub/agent/agent_rle.cuh"
#include "cub/agent/agent_scan.cuh"
#include "cub/agent/agent_scan_by_key.cuh"
#include "cub/agent/agent_segment_fixup.cuh"
#include "cub/agent/agent_segmented_radix_sort.cuh"
#include "cub/agent/agent_select_if.cuh"
#include "cub/agent/agent_spmv_orig.cuh"
#include "cub/agent/agent_sub_warp_merge_sort.cuh"
#include "cub/agent/agent_three_way_partition.cuh"
#include "cub/agent/agent_unique_by_key.cuh"
#include "cub/agent/single_pass_scan_operators.cuh"
#include "cub/block/block_adjacent_difference.cuh"
#include "cub/block/block_discontinuity.cuh"
#include "cub/block/block_exchange.cuh"
#include "cub/block/block_histogram.cuh"
#include "cub/block/block_load.cuh"
#include "cub/block/block_merge_sort.cuh"
#include "cub/block/block_radix_rank.cuh"
#include "cub/block/block_radix_sort.cuh"
#include "cub/block/block_raking_layout.cuh"
#include "cub/block/block_reduce.cuh"
#include "cub/block/block_run_length_decode.cuh"
#include "cub/block/block_scan.cuh"
#include "cub/block/block_shuffle.cuh"
#include "cub/block/block_store.cuh"
#include "cub/block/radix_rank_sort_operations.cuh"
#include "cub/block/specializations/block_histogram_atomic.cuh"
#include "cub/block/specializations/block_histogram_sort.cuh"
#include "cub/block/specializations/block_reduce_raking.cuh"
#include "cub/block/specializations/block_reduce_raking_commutative_only.cuh"
#include "cub/block/specializations/block_reduce_warp_reductions.cuh"
#include "cub/block/specializations/block_scan_raking.cuh"
#include "cub/block/specializations/block_scan_warp_scans.cuh"
#include "cub/block/specializations/block_scan_warp_scans2.cuh"
#include "cub/block/specializations/block_scan_warp_scans3.cuh"
#include "cub/config.cuh"
#include "cub/cub.cuh"
#include "cub/detail/choose_offset.cuh"
#include "cub/detail/device_double_buffer.cuh"
#include "cub/detail/device_synchronize.cuh"
#include "cub/detail/exec_check_disable.cuh"
#include "cub/detail/temporary_storage.cuh"
#include "cub/detail/type_traits.cuh"
#include "cub/device/device_adjacent_difference.cuh"
#include "cub/device/device_histogram.cuh"
#include "cub/device/device_merge_sort.cuh"
#include "cub/device/device_partition.cuh"
#include "cub/device/device_radix_sort.cuh"
#include "cub/device/device_reduce.cuh"
#include "cub/device/device_run_length_encode.cuh"
#include "cub/device/device_scan.cuh"
#include "cub/device/device_segmented_radix_sort.cuh"
#include "cub/device/device_segmented_reduce.cuh"
#include "cub/device/device_segmented_sort.cuh"
#include "cub/device/device_select.cuh"
#include "cub/device/device_spmv.cuh"
#include "cub/device/dispatch/dispatch_adjacent_difference.cuh"
#include "cub/device/dispatch/dispatch_histogram.cuh"
#include "cub/device/dispatch/dispatch_merge_sort.cuh"
#include "cub/device/dispatch/dispatch_radix_sort.cuh"
#include "cub/device/dispatch/dispatch_reduce.cuh"
#include "cub/device/dispatch/dispatch_reduce_by_key.cuh"
#include "cub/device/dispatch/dispatch_rle.cuh"
#include "cub/device/dispatch/dispatch_scan.cuh"
#include "cub/device/dispatch/dispatch_scan_by_key.cuh"
#include "cub/device/dispatch/dispatch_segmented_sort.cuh"
#include "cub/device/dispatch/dispatch_select_if.cuh"
#include "cub/device/dispatch/dispatch_spmv_orig.cuh"
#include "cub/device/dispatch/dispatch_three_way_partition.cuh"
#include "cub/device/dispatch/dispatch_unique_by_key.cuh"
#include "cub/grid/grid_barrier.cuh"
#include "cub/grid/grid_even_share.cuh"
#include "cub/grid/grid_mapping.cuh"
#include "cub/grid/grid_queue.cuh"
#include "cub/host/mutex.cuh"
#include "cub/iterator/arg_index_input_iterator.cuh"
#include "cub/iterator/cache_modified_input_iterator.cuh"
#include "cub/iterator/cache_modified_output_iterator.cuh"
#include "cub/iterator/constant_input_iterator.cuh"
#include "cub/iterator/counting_input_iterator.cuh"
#include "cub/iterator/discard_output_iterator.cuh"
#include "cub/iterator/tex_obj_input_iterator.cuh"
#include "cub/iterator/tex_ref_input_iterator.cuh"
#include "cub/iterator/transform_input_iterator.cuh"
#include "cub/thread/thread_load.cuh"
#include "cub/thread/thread_operators.cuh"
#include "cub/thread/thread_reduce.cuh"
#include "cub/thread/thread_scan.cuh"
#include "cub/thread/thread_search.cuh"
#include "cub/thread/thread_sort.cuh"
#include "cub/thread/thread_store.cuh"
#include "cub/util_allocator.cuh"
#include "cub/util_arch.cuh"
#include "cub/util_compiler.cuh"
#include "cub/util_cpp_dialect.cuh"
#include "cub/util_debug.cuh"
#include "cub/util_deprecated.cuh"
#include "cub/util_device.cuh"
#include "cub/util_macro.cuh"
#include "cub/util_math.cuh"
#include "cub/util_namespace.cuh"
#include "cub/util_ptx.cuh"
#include "cub/util_type.cuh"
#include "cub/version.cuh"
#include "cub/warp/specializations/warp_reduce_shfl.cuh"
#include "cub/warp/specializations/warp_reduce_smem.cuh"
#include "cub/warp/specializations/warp_scan_shfl.cuh"
#include "cub/warp/specializations/warp_scan_smem.cuh"
#include "cub/warp/warp_exchange.cuh"
#include "cub/warp/warp_load.cuh"
#include "cub/warp/warp_merge_sort.cuh"
#include "cub/warp/warp_reduce.cuh"
#include "cub/warp/warp_scan.cuh"
#include "cub/warp/warp_store.cuh"