Source: cccl
Section: libdevel
Priority: optional
Maintainer: Debian NVIDIA Maintainers <pkg-nvidia-devel@lists.alioth.debian.org>
Uploaders:
 Andreas Beckmann <anbe@debian.org>,
Build-Depends:
 debhelper-compat (= 13),
 cmake,
 llvm-19-tools,
 python3,
Rules-Requires-Root: no
Standards-Version: 4.7.2
Homepage: https://github.com/NVIDIA/cccl
Vcs-Browser: https://salsa.debian.org/nvidia-team/cccl
Vcs-Git: https://salsa.debian.org/nvidia-team/cccl.git

Package: libcu++-dev
Architecture: all
Multi-Arch: foreign
Depends:
 ${misc:Depends},
Breaks:
 nvidia-cuda-dev (<< 11.6.2-5~),
 nvidia-cuda-dev (= 11.7.0-1),
 nvidia-cuda-dev (= 11.7.1-1),
Replaces:
 nvidia-cuda-dev (<< 11.6.2-5~),
 nvidia-cuda-dev (= 11.7.0-1),
 nvidia-cuda-dev (= 11.7.1-1),
Description: NVIDIA C++ Standard Library
 libcu++ provides a heterogeneous implementation of the C++ Standard Library
 that can be used in and between CPU and GPU code.
 .
 Using libcu++ is as simple as using the C++ Standard Library.
 All that is needed is adding 'cuda/std/' to the start of the Standard
 Library includes and 'cuda::' before any uses of 'std::':
 .
  * #include <cuda/std/atomic>
  * cuda::std::atomic<int> x;

Package: libcub-dev
Architecture: all
Multi-Arch: foreign
Depends:
 libcu++-dev (= ${binary:Version}),
 ${misc:Depends}
Breaks:
 libthrust-dev (<< 1.15.0),
Description: reusable software components for the CUDA programming model
 CUB provides state-of-the-art, reusable software components for every layer
 of the CUDA programming model:
 * Parallel primitives
   * Warp-wide "collective" primitives
   * Block-wide "collective" primitives
   * Device-wide primitives
 * Utilities
   * Fancy iterators
   * Thread and thread block I/O
   * PTX intrinsics
   * Device, kernel, and storage management

Package: libthrust-dev
Architecture: all
Multi-Arch: foreign
Depends:
 libcu++-dev (= ${binary:Version}),
 libcub-dev (= ${binary:Version}),
 ${misc:Depends}
Recommends:
 libtbb-dev,
Suggests: nvidia-cuda-toolkit
Provides:
 libcccl-dev (= ${binary:Version}),
Description: Thrust - Parallel Algorithms Library
 Thrust is a parallel algorithms library which resembles the C++ Standard
 Template Library (STL). Thrust's high-level interface greatly enhances
 programmer productivity while enabling performance portability between GPUs
 and multicore CPUs. Interoperability with established technologies (such as
 CUDA, TBB, and OpenMP) facilitates integration with existing software.
