Sparse-checkout from NVIDIA/cccl main branch to complete cccl_upstream: Added: - python/cuda_cccl/ (226 files) — Python bindings for device-level algorithms Critical for muh toolchain: cuda.compute.reduce_into, scan, radix_sort, etc. Includes 204 .py files with full test coverage for all 27 algorithms - ci/ (163 files) — Build/test infrastructure build_cub.sh, test_cub.sh, build_and_test_targets.sh, matrix.yaml Directly maps to our [INFRA-CI] and [INFRA-BUILD] items - .agent/skills/ (7 files) — NVIDIA's own agent skills for CCCL cccl-style/SKILL.md, cccl-test/SKILL.md, sass-diff/SKILL.md - docs/ (491 files) — Official CCCL documentation CI references, CMake guides, Python compute docs, libcudacxx PTX docs - test/ (12 files) — Top-level integration tests (cuda_smoke, stdpar) - Root configs: .clang-format, .clang-tidy, CONTRIBUTING.md, pyproject.toml - CLAUDE.md symlink → AGENTS.md (NVIDIA's standard) cccl_upstream now mirrors full NVIDIA/cccl structure: Before: 42M (cub + thrust + libcudacxx + cudax + c + examples + benchmarks) After: 53M (+python +ci +docs +.agent +test +configs) This completes the CCCL base needed for: - [muh-bench] items: ci/util/build_and_test_targets.sh for targeted builds - [CCCL-verify] items: python/cuda_cccl/tests/ as reference implementations - [CCCL-test] items: ci/test_cub.sh, ci/test_thrust.sh - Agent workflow: .agent/skills/ for consistent style and test patterns
186 lines
7.0 KiB
Plaintext
186 lines
7.0 KiB
Plaintext
# Doxyfile for CUDAX
|
|
|
|
PROJECT_NAME = CUDAX
|
|
OUTPUT_DIRECTORY = ../_build/doxygen/cudax
|
|
CREATE_SUBDIRS = NO
|
|
GENERATE_HTML = NO
|
|
GENERATE_LATEX = NO
|
|
GENERATE_XML = YES
|
|
XML_OUTPUT = xml
|
|
XML_PROGRAMLISTING = YES
|
|
|
|
# Input directory - specific paths for cudax
|
|
INPUT = ../../cudax/include/cuda/experimental/__copy_bytes \
|
|
../../cudax/include/cuda/experimental/__fill_bytes \
|
|
../../cudax/include/cuda/experimental/__container \
|
|
../../cudax/include/cuda/experimental/__device \
|
|
../../cudax/include/cuda/experimental/graph.cuh \
|
|
../../cudax/include/cuda/experimental/__graph \
|
|
../../cudax/include/cuda/experimental/__group \
|
|
../../cudax/include/cuda/experimental/__launch \
|
|
../../cudax/include/cuda/experimental/__places \
|
|
../../cudax/include/cuda/experimental/__places/exec \
|
|
../../cudax/include/cuda/experimental/__stream \
|
|
../../cudax/include/cuda/experimental/stf.cuh \
|
|
../../cudax/include/cuda/experimental/__stf \
|
|
../../cudax/include/cuda/experimental/__stf/internal \
|
|
../../cudax/include/cuda/experimental/__stf/utility \
|
|
../../cudax/include/cuda/experimental/__stf/localization \
|
|
../../cudax/include/cuda/experimental/__stf/allocators \
|
|
../../cudax/include/cuda/experimental/__stf/graph \
|
|
../../cudax/include/cuda/experimental/__stf/graph/internal \
|
|
../../cudax/include/cuda/experimental/__stf/graph/interfaces \
|
|
../../cudax/include/cuda/experimental/__stf/places \
|
|
../../cudax/include/cuda/experimental/__stf/places/exec/host \
|
|
../../cudax/include/cuda/experimental/__stf/stream \
|
|
../../cudax/include/cuda/experimental/__stf/stream/internal \
|
|
../../cudax/include/cuda/experimental/__stf/stream/interfaces
|
|
|
|
RECURSIVE = YES
|
|
# Exclude patterns from repo.toml
|
|
EXCLUDE = ../../cudax/include/cuda/experimental/__graph/fwd.cuh
|
|
EXCLUDE_PATTERNS = */detail/* */test/* */tests/* */examples/* */__detail/*
|
|
# Exclude symbols from repo.toml
|
|
EXCLUDE_SYMBOLS = *detail* *RESERVED* *reserved* *__* _A* _B* _C* _D* _E* _F* _G* _H* _I* _J* _K* _L* _M* _N* _O* _P* _Q* _R* _S* _T* _U* _V* _W* _X* _Y* _Z* UNITTEST
|
|
|
|
# Path for @snippet references to test/example files
|
|
EXAMPLE_PATH = ../../cudax/include/cuda/experimental/__stf/utility \
|
|
../../cudax/test/multi_gpu/algorithms \
|
|
../../cudax/test/coop/reduce
|
|
|
|
FILE_PATTERNS = *.h *.hpp *.cuh
|
|
EXTENSION_MAPPING = cuh=C++ cu=C++
|
|
|
|
# Documentation extraction settings
|
|
EXTRACT_ALL = YES
|
|
EXTRACT_PRIVATE = NO
|
|
EXTRACT_STATIC = YES
|
|
EXTRACT_LOCAL_CLASSES = YES
|
|
HIDE_UNDOC_MEMBERS = NO
|
|
HIDE_UNDOC_CLASSES = NO
|
|
SHOW_INCLUDE_FILES = YES
|
|
INLINE_INHERITED_MEMB = YES
|
|
FULL_PATH_NAMES = YES
|
|
STRIP_FROM_PATH = ../../cudax
|
|
SHORT_NAMES = NO
|
|
|
|
# Parsing settings
|
|
JAVADOC_AUTOBRIEF = YES
|
|
QT_AUTOBRIEF = NO
|
|
MULTILINE_CPP_IS_BRIEF = NO
|
|
INHERIT_DOCS = YES
|
|
SEPARATE_MEMBER_PAGES = NO
|
|
TAB_SIZE = 4
|
|
BUILTIN_STL_SUPPORT = YES
|
|
|
|
# Preprocessing
|
|
ENABLE_PREPROCESSING = YES
|
|
MACRO_EXPANSION = YES
|
|
EXPAND_ONLY_PREDEF = NO
|
|
SEARCH_INCLUDES = YES
|
|
SKIP_FUNCTION_MACROS = YES
|
|
|
|
# Predefined macros for CUDAX
|
|
PREDEFINED = \
|
|
"__device__=" \
|
|
"__host__=" \
|
|
"__global__=" \
|
|
"__forceinline__=" \
|
|
"__declspec(x)=" \
|
|
"__align__(x)=" \
|
|
"__cccl_lib_mdspan" \
|
|
"_CCCL_AND=&&" \
|
|
"_CCCL_CONCEPT=constexpr bool" \
|
|
"_CCCL_DOXYGEN_INVOKED" \
|
|
"_CCCL_HOST_DEVICE=" \
|
|
"_CCCL_DEVICE=" \
|
|
"_CCCL_HOST=" \
|
|
"_CCCL_FORCEINLINE=" \
|
|
"_CCCL_CONSTEXPR_CXX20=constexpr" \
|
|
"_CCCL_CONSTEXPR_CXX23=constexpr" \
|
|
"_CCCL_API=inline" \
|
|
"_CCCL_HOST_DEVICE_API=inline" \
|
|
"_CCCL_HOST_API=inline" \
|
|
"_CCCL_DEVICE_API=inline" \
|
|
"_CCCL_NODEBUG_API=inline" \
|
|
"_CCCL_NODEBUG_DEVICE_API=inline" \
|
|
"_CCCL_NODEBUG_HOST_API=inline" \
|
|
"_CCCL_TRIVIAL_API=inline" \
|
|
"_CCCL_TRIVIAL_HOST_API=inline" \
|
|
"_CCCL_TRIVIAL_DEVICE_API=inline" \
|
|
"_CCCL_PUBLIC_API=inline" \
|
|
"_CCCL_PUBLIC_DEVICE_API=inline" \
|
|
"_CCCL_PUBLIC_HOST_API=inline" \
|
|
"_CCCL_BEGIN_NAMESPACE_CUDA_STD=namespace cuda::std {" \
|
|
"_CCCL_END_NAMESPACE_CUDA_STD=}" \
|
|
"_CCCL_CATCH=catch" \
|
|
"_CCCL_CATCH_ALL=catch (...)" \
|
|
"_CCCL_CATCH_FALLTHROUGH=" \
|
|
"_CCCL_CONSTEXPR_FRIEND=friend " \
|
|
"_CCCL_CTK_AT_LEAST(x, y)=1" \
|
|
"_CCCL_CTK_BELOW(x, y)=0" \
|
|
"_CCCL_CUDACC_AT_LEAST(x, y)=1" \
|
|
"_CCCL_CUDACC_BELOW(x, y)=0" \
|
|
"_CCCL_DIAG_POP=" \
|
|
"_CCCL_DIAG_PUSH=" \
|
|
"_CCCL_DIAG_SUPPRESS_CLANG(x)=" \
|
|
"_CCCL_DIAG_SUPPRESS_GCC(x)=" \
|
|
"_CCCL_DIAG_SUPPRESS_MSVC(x)=" \
|
|
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=" \
|
|
"_CCCL_EXEC_CHECK_DISABLE=" \
|
|
"_CCCL_GLOBAL_CONSTANT=inline constexpr" \
|
|
"_CCCL_HAS_CTK()=1" \
|
|
"_CCCL_HIDE_FROM_ABI=" \
|
|
"_CCCL_REQUIRES(x)= ::cuda::std::enable_if_t<x, int> = 0>" \
|
|
"_CCCL_STD_VER=2020" \
|
|
"_CCCL_SUPPRESS_DEPRECATED_POP=" \
|
|
"_CCCL_SUPPRESS_DEPRECATED_PUSH=" \
|
|
"_CCCL_TEMPLATE(x)=template<x, " \
|
|
"_CCCL_TRAILING_REQUIRES(x)=-> x requires " \
|
|
"_CCCL_TRY=try" \
|
|
"_CCCL_TYPE_VISIBILITY_DEFAULT=" \
|
|
"_CCCL_TYPE_VISIBILITY_HIDDEN=" \
|
|
"_CCCL_VISIBILITY_DEFAULT=" \
|
|
"_CCCL_VISIBILITY_HIDDEN=" \
|
|
"_CCCL_LIFETIMEBOUND=" \
|
|
"_CUDAX_CONSTEXPR_FRIEND=friend" \
|
|
"_LIBCUDACXX_HAS_SPACESHIP_OPERATOR()=1" \
|
|
"CCCL_DEPRECATED=" \
|
|
"CCCL_DEPRECATED_BECAUSE(x)=" \
|
|
"CCCL_IGNORE_DEPRECATED_CPP_DIALECT" \
|
|
"CUB_DISABLE_NAMESPACE_MAGIC" \
|
|
"CUB_IGNORE_NAMESPACE_MAGIC_ERROR" \
|
|
"CUB_NAMESPACE_BEGIN=namespace cub {" \
|
|
"CUB_NAMESPACE_END=}" \
|
|
"CUB_RUNTIME_FUNCTION=" \
|
|
"THRUST_FWD(x)=x" \
|
|
"THRUST_NAMESPACE_BEGIN=namespace thrust {" \
|
|
"THRUST_NAMESPACE_END=}" \
|
|
"THRUST_PREVENT_MACRO_SUBSTITUTION" \
|
|
"_CCCL_HOSTED()=1"
|
|
|
|
# Additional settings from repo.toml
|
|
DISTRIBUTE_GROUP_DOC = YES
|
|
DOXYFILE_ENCODING = UTF-8
|
|
INPUT_ENCODING = UTF-8
|
|
EXAMPLE_RECURSIVE = YES
|
|
EXAMPLE_PATTERNS = *.cu
|
|
AUTOLINK_SUPPORT = YES
|
|
|
|
# IMPORTANT: Aliases for custom commands
|
|
# The rst alias enables embedding reStructuredText in doxygen comments
|
|
# Using the same format as repo_docs for compatibility
|
|
ALIASES = "rst=\verbatim embed:rst:leading-asterisk"
|
|
ALIASES += "endrst=\endverbatim"
|
|
ALIASES += "rststar=\verbatim embed:rst:leading-asterisk"
|
|
ALIASES += "inlinerst=\verbatim embed:rst:inline"
|
|
|
|
# Quiet mode
|
|
QUIET = YES
|
|
WARNINGS = YES
|
|
WARN_AS_ERROR = FAIL_ON_WARNINGS
|
|
WARN_IF_UNDOCUMENTED = NO
|
|
WARN_IF_DOC_ERROR = YES
|
|
WARN_IF_INCOMPLETE_DOC = NO
|
|
WARN_NO_PARAMDOC = NO
|