cubDeviceFind - CUB DeviceFind Search Algorithms

Description

This sample demonstrates the three device-wide search algorithms: cub::DeviceFind::FindIf for predicate search, and cub::DeviceFind::LowerBound / UpperBound for parallel binary search. Results are verified against std::find_if, std::lower_bound, and std::upper_bound on the host.

Key Concepts

CCCL 3.3, CUB Device Algorithms, Parallel Search, Binary Search

Supported SM Architectures

SM 7.0 SM 7.5 SM 8.0 SM 8.6 SM 8.9 SM 9.0 SM 10.0 SM 11.0 SM 12.0

Supported OSes

Linux, Windows

Supported CPU Architecture

x86_64, aarch64

CUDA APIs involved

CCCL CUB

cub::DeviceFind::FindIf, cub::DeviceFind::LowerBound, cub::DeviceFind::UpperBound

CCCL libcu++

cuda::std::less

CUDA Runtime API

cudaDeviceSynchronize, cudaGetDeviceProperties

Dependencies needed to build/run

CCCL 3.3+. Fetched automatically via CPM at configure time (pinned to v3.3.3). Override with -DCCCL_SOURCE_DIR=/path/to/cccl to use a local checkout.

Prerequisites

Download and install the CUDA Toolkit for your corresponding platform. Make sure the dependencies mentioned in Dependencies section above are installed.

References (for more details)

CCCL 3.3 release notes, cub::DeviceFind header