Files
TheRock/math-libs/libhipcxx/docs/repo.toml
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

403 lines
17 KiB
TOML

########################################################################################################################
# Repo tool base settings
########################################################################################################################
[repo_docs]
enabled = true
name = "CUDA C++ Core Libraries"
project = "cccl"
logo = "img/logo.png"
repo_url = "https://github.com/NVIDIA/cccl"
social_media_set = ""
social_media = [
[ "github", "https://github.com/NVIDIA/cccl" ],
[ "discord", "https://discord.com/channels/1019361803752456192/1161051667945508884" ],
]
enhanced_search_enabled = true
api_output_directory = "api"
use_fast_doxygen_conversion = true
sphinx_generate_doxygen_groups = true
sphinx_generate_doxygen_pages = true
sphinx_exclude_patterns = [
"tools",
"VERSION.md",
]
project_build_order = [ "libcudacxx", "cudax", "cub", "thrust", "cccl", "cuda_cooperative", "cuda_parallel" ]
# deps can be used to link to other projects' documentation
deps = [
[ "libcudacxx", "_build/docs/libcudacxx/latest" ],
[ "cub", "_build/docs/cub/latest" ],
[ "thrust", "_build/docs/thrust/latest" ],
[ "cuda_cooperative", "_build/docs/cuda_cooperative/latest" ],
[ "cuda_parallel", "_build/docs/cuda_parallel/latest" ],
]
[repo_docs.projects.libcudacxx]
name = "libcu++"
docs_root = "libcudacxx"
logo = "../img/logo.png"
repo_url = "https://github.com/NVIDIA/cccl/libcudacxx"
social_media_set = ""
social_media = [
[ "github", "https://github.com/NVIDIA/cccl" ],
]
enhanced_search_enabled = true
api_output_directory = "api"
use_fast_doxygen_conversion = true
sphinx_generate_doxygen_groups = true
sphinx_generate_doxygen_pages = true
sphinx_exclude_patterns = []
[repo_docs.projects.cub]
name = "CUB"
docs_root = "cub"
logo = "../img/logo.png"
repo_url = "https://github.com/NVIDIA/cccl/cub"
social_media_set = ""
social_media = [
[ "github", "https://github.com/NVIDIA/cccl" ],
]
enhanced_search_enabled = true
api_output_directory = "api"
use_fast_doxygen_conversion = true
sphinx_generate_doxygen_groups = true
sphinx_generate_doxygen_pages = true
sphinx_exclude_patterns = []
# deps can be used to link to other projects' documentation
deps = [
[ "libcudacxx", "_build/docs/libcudacxx/latest" ],
]
# list of files from which to extract documentation. if a directory is specified,
# it will be recursively searched.
#
# paths are relative to ${docs_root}.
#
# defaults to an empty list.
doxygen_input = [
"../../cub/cub/*.cuh",
"../../cub/cub/thread/*.cuh",
"../../cub/cub/warp/*.cuh",
"../../cub/cub/block/*.cuh",
"../../cub/cub/device/*.cuh",
"../../cub/cub/grid/*.cuh",
"../../cub/cub/iterator/*.cuh"
]
# Using wildcards is also supported in `doxygen_input`. Assuming there are no other `.h` files
# in the `include/carb` directory, the above may also be specified as:
# doxygen_input = [
# "include/carb/*.h",
# "source/examples/example.doxygen/ExampleDoxygen.h",
# ]
# doxygen allows the creation of custom commands to ease in the documentation process.
# for example, this adds a @carb_framework_overview command which creates a link
# to a reStructuredText document. defaults to an empty list.
#
# more information on the format can be found at:
# https://www.doxygen.nl/manual/config.html#cfg_aliases
doxygen_aliases = [
"smemwarpreuse=A subsequent ``__syncwarp()`` warp-wide barrier should be invoked after calling this method if the collective's temporary storage (e.g., ``temp_storage``) is to be reused or repurposed.",
"smemreuse=A subsequent ``__syncthreads()`` threadblock barrier should be invoked after calling this method if the collective's temporary storage (e.g., ``temp_storage``) is to be reused or repurposed.",
"smemreuse{1}=After any operation, a subsequent ``__syncthreads()`` barrier is required if the collective's \\1 is to be reused or repurposed",
"smemstorage{1}=The operations exposed by \\1 require a temporary memory allocation of this nested type for thread communication. This opaque storage can be allocated directly using the ``__shared__`` keyword. Alternatively, it can be aliased to externally allocated memory (shared or global) or ``union``'d with other storage allocation types to facilitate memory reuse.",
"granularity=Efficiency is increased with increased granularity ``ITEMS_PER_THREAD``. Performance is also typically increased until the additional register pressure or shared memory allocation size causes SM occupancy to fall too low. Consider variants of ``cub::BlockLoad`` for efficiently gathering a :ref:`blocked arrangement <flexible-data-arrangement>` of elements across threads.",
"blocksize=The number of threads in the block is a multiple of the architecture's warp size",
"ptxversion=The PTX compute capability for which to to specialize this collective, formatted as per the ``__CUDA_ARCH__`` macro (e.g., 350 for sm_35). Useful for determining the collective's storage requirements for a given device from the host. (Default: the value of ``__CUDA_ARCH__`` during the current compiler pass)",
"blockcollective{1}=Every thread in the block uses the \\1 class by first specializing the \\1 type, then instantiating an instance with parameters for communication, and finally invoking one or more collective member functions.",
"warpcollective{1}=Every thread in the warp uses the \\1 class by first specializing the \\1 type, then instantiating an instance with parameters for communication, and finally invoking or more collective member functions.",
"devicestorage=When ``d_temp_storage`` is ``nullptr``, no work is done and the required allocation size is returned in ``temp_storage_bytes``.",
"devicestorageP=This operation requires a relatively small allocation of temporary device storage that is ``O(P)``, where ``P`` is the number of streaming multiprocessors on the device (and is typically a small constant relative to the input size ``N``).",
"devicestorageNP=This operation requires an allocation of temporary device storage that is ``O(N+P)``, where ``N`` is the length of the input and ``P`` is the number of streaming multiprocessors on the device.",
"devicestorageNCP=This operation requires a relatively small allocation of temporary device storage that is ``O(N/C + P)``, where ``N`` is the length of the input, ``C`` is the number of concurrent threads that can be actively scheduled on each streaming multiprocessor (typically several thousand), and ``P`` is the number of streaming multiprocessors on the device.",
"cdp_class{1}= - Dynamic parallelism. \\1 methods can be called within kernel code on devices in which CUDA dynamic parallelism is supported.",
"iterator=(may be a simple pointer type)",
"offset_size1=(Consider using 32-bit values as offsets/lengths/etc. For example, ``int`` will typically yeild better performance than ``size_t`` in 64-bit memory mode.)",
"offset_size2=Careful consideration should be given to the size of integer types used for offsets and lengths. Many (if not most) scenarios will only require 32-bit offsets (e.g., ``int``). 64-bit offset types (e.g., ``size_t`` on 64-bit memory mode) can consume a significant amount of thread storage resources, adversely affecting processor occupancy and performance.",
"rowmajor=For multi-dimensional blocks, threads are linearly ranked in row-major order.",
"blocked=Assumes a :ref:`blocked arrangement <flexible-data-arrangement>` of (*block-threads* * *items-per-thread*) items across the thread block, where *thread*\\ :sub:`i` owns the *i*\\ :sup:`th` range of *items-per-thread* contiguous items. For multi-dimensional thread blocks, a row-major thread ordering is assumed.",
"striped=Assumes a :ref:`striped arrangement <flexible-data-arrangement>` of (*block-threads* * *items-per-thread*) items across the thread block, where *thread*\\ :sub:`i` owns items (*i*), (*i* + *block-threads*), ..., (*i* + (*block-threads* * (*items-per-thread* - 1))). For multi-dimensional thread blocks, a row-major thread ordering is assumed.",
"warpstriped=Assumes a *warp-striped arrangement* of elements across threads, where warp\\ :sub:`i` owns the *i*\\ :sup:`th` range of (*warp-threads* * *items-per-thread*) contiguous items, and each thread owns items (*i*), (*i* + *warp-threads*), ..., (*i* + (*warp-threads* * (*items-per-thread* - 1))).",
"linear_performance{1}=The work-complexity of \\1 as a function of input size is linear, resulting in performance throughput that plateaus with problem sizes large enough to saturate the GPU." ,
"plots_below=Performance plots for other scenarios can be found in the detailed method descriptions below.",
"identityzero=This operation assumes the value of obtained by the ``T``'s default constructor (or by zero-initialization if no user-defined default constructor exists) is suitable as the identity value \"zero\" for addition.",
"lookback=`decoupled look-back <https://research.nvidia.com/publication/single-pass-parallel-prefix-scan-decoupled-look-back>`_"
]
# doxygen sometimes gets confused by macros. the array below allows the user to
# tell doxygen how to expand a macro. defaults to an empty list.
#
# more information on the format can be found at:
# https://www.doxygen.nl/manual/config.html#cfg_predefined
doxygen_predefined = [
"_CCCL_ALIAS_ATTRIBUTE(x)=",
"_CCCL_HOST",
"_CCCL_DEVICE",
"_CCCL_HOST_DEVICE",
"_CCCL_FORCEINLINE",
"_CCCL_STD_VER",
"_CCCL_VISIBILITY_HIDDEN",
"_CCCL_SUPPRESS_DEPRECATED_PUSH",
"_CCCL_SUPPRESS_DEPRECATED_POP",
"DOXYGEN_SHOULD_SKIP_THIS",
"DOXYGEN_ACTIVE",
"__device__",
"__host__",
"__forceinline__",
"__declspec(x)=",
"__align__(x)=",
"CUB_DISABLE_NAMESPACE_MAGIC",
"CUB_IGNORE_NAMESPACE_MAGIC_ERROR",
"CUB_NAMESPACE_BEGIN=namespace cub {",
"CUB_NAMESPACE_END=}",
"CUB_DEPRECATED_BECAUSE(x)=",
"CUB_DEPRECATED=",
"CUB_STATIC_ASSERT(cond,msg)=",
"CUB_RUNTIME_FUNCTION",
"CUB_DETAIL_RUNTIME_DEBUG_SYNC_IS_NOT_SUPPORTED",
"CUB_IGNORE_DEPRECATED_CPP_DIALECT"
]
# make sure to use ./fetch_imgs.sh
doxygen_conf_extra = """
IMAGE_PATH = ${config_root}/img
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = UTF-8
EXTENSION_MAPPING = cuh=c++ cu=c++
EXAMPLE_PATH = ../../cub/examples/device
EXAMPLE_RECURSIVE = NO
EXAMPLE_PATTERNS = *.cu
EXCLUDE_SYMBOLS = "*detail*" "CUB_DETAIL*"
AUTOLINK_SUPPORT = YES
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ../../cub
"""
[repo_docs.projects.thrust]
name = "Thrust: The C++ Parallel Algorithms Library"
docs_root = "thrust"
logo = "../img/logo.png"
repo_url = "https://github.com/NVIDIA/cccl/thrust"
social_media_set = ""
social_media = [
[ "github", "https://github.com/NVIDIA/cccl" ],
]
enhanced_search_enabled = true
api_output_directory = "api"
use_fast_doxygen_conversion = true
sphinx_generate_doxygen_groups = true
sphinx_generate_doxygen_pages = true
sphinx_exclude_patterns = []
# deps can be used to link to other projects' documentation
deps = [
[ "libcudacxx", "_build/docs/libcudacxx/latest" ],
[ "cub", "_build/docs/cub/latest" ],
]
# list of files from which to extract documentation. if a directory is specified,
# it will be recursively searched.
#
# paths are relative to ${docs_root}.
#
# defaults to an empty list.
doxygen_input = [
"../../thrust/thrust/*.h",
"../../thrust/thrust/iterator/*.h",
"../../thrust/thrust/mr/*.h",
"../../thrust/thrust/random/*.h",
"../../thrust/thrust/system/*.h",
"../../thrust/thrust/system/cpp/pointer.h",
"../../thrust/thrust/system/omp/pointer.h",
"../../thrust/thrust/system/tbb/pointer.h",
"../../thrust/thrust/type_traits/*.h",
]
# doxygen allows the creation of custom commands to ease in the documentation process.
# for example, this adds a @carb_framework_overview command which creates a link
# to a reStructuredText document. defaults to an empty list.
#
# more information on the format can be found at:
# https://www.doxygen.nl/manual/config.html#cfg_aliases
doxygen_aliases = []
# doxygen sometimes gets confused by macros. the array below allows the user to
# tell doxygen how to expand a macro. defaults to an empty list.
#
# more information on the format can be found at:
# https://www.doxygen.nl/manual/config.html#cfg_predefined
doxygen_predefined = [
"_CCCL_ALIAS_ATTRIBUTE(x)=",
"_CCCL_DEVICE=",
"_CCCL_EXEC_CHECK_DISABLE=",
"_CCCL_FORCEINLINE=",
"_CCCL_HOST=",
"_CCCL_HOST_DEVICE=",
"_CCCL_NODISCARD=[[nodiscard]]",
"_CCCL_STD_VER",
"_CCCL_SUPPRESS_DEPRECATED_PUSH",
"_CCCL_SUPPRESS_DEPRECATED_POP",
"DOXYGEN_SHOULD_SKIP_THIS",
"DOXYGEN_ACTIVE",
"_LIBCUDACXX_DEPRECATED_IN_CXX11",
"THRUST_DISABLE_NAMESPACE_MAGIC",
"THRUST_IGNORE_NAMESPACE_MAGIC_ERROR",
"THRUST_NAMESPACE_BEGIN=namespace thrust {",
"THRUST_NAMESPACE_END=}",
"THRUST_INLINE_CONSTANT",
"THRUST_PREVENT_MACRO_SUBSTITUTION",
"THRUST_BINARY_FUNCTOR_VOID_SPECIALIZATION_OP(x,y)=",
"THRUST_UNARY_FUNCTOR_VOID_SPECIALIZATION(x, y)=",
"THRUST_BINARY_FUNCTOR_VOID_SPECIALIZATION(x, y)=",
"THRUST_FWD(x)=x",
"THRUST_DEPRECATED_BECAUSE(x)=",
"THRUST_DEPRECATED="
]
# make sure to use ./fetch_imgs.sh
doxygen_conf_extra = """
IMAGE_PATH = ${config_root}/img
DISTRIBUTE_GROUP_DOC = Yes
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = UTF-8
EXTENSION_MAPPING = cuh=c++ cu=c++
EXAMPLE_PATH = ../../thrust/examples
EXAMPLE_RECURSIVE = NO
EXAMPLE_PATTERNS = *.cu
EXCLUDE_SYMBOLS = "*detail*" "__*" "THRUST_NS_QUALIFIER" "optional"
AUTOLINK_SUPPORT = YES
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ../../thrust
"""
[repo_docs.projects.cuda_cooperative]
name = "cuda.cooperative"
docs_root = "cuda_cooperative"
logo = "../img/logo.png"
repo_url = "https://github.com/NVIDIA/cccl/python/cuda"
social_media_set = ""
social_media = [
[ "github", "https://github.com/NVIDIA/cccl" ],
]
autodoc.mock_imports = [
"numba",
"pynvjitlink",
"cuda.nvrtc",
"llvmlite"
]
enhanced_search_enabled = true
python_paths = [
"${root}/../python/cuda_cooperative"
]
[repo_docs.projects.cuda_parallel]
name = "cuda.parallel"
docs_root = "cuda_parallel"
logo = "../img/logo.png"
repo_url = "https://github.com/NVIDIA/cccl/python/cuda"
social_media_set = ""
social_media = [
[ "github", "https://github.com/NVIDIA/cccl" ],
]
autodoc.mock_imports = [
"numba",
"pynvjitlink",
"cuda.nvrtc",
"llvmlite"
]
enhanced_search_enabled = true
python_paths = [
"${root}/../python/cuda_parallel"
]
[repo_docs.projects.cudax]
name = "Cudax: Experimental new features"
docs_root = "cudax"
logo = "../img/logo.png"
repo_url = "https://github.com/NVIDIA/cccl/cudax"
social_media_set = ""
social_media = [
[ "github", "https://github.com/NVIDIA/cccl" ],
]
enhanced_search_enabled = true
api_output_directory = "api"
use_fast_doxygen_conversion = true
sphinx_generate_doxygen_groups = true
sphinx_generate_doxygen_pages = true
sphinx_exclude_patterns = []
# deps can be used to link to other projects' documentation
deps = [
[ "libcudacxx", "_build/docs/libcudacxx/latest" ],
]
doxygen_input = [
"../../cudax/include/cuda/experimental/__container/*.cuh",
"../../cudax/include/cuda/experimental/__device/*.cuh",
"../../cudax/include/cuda/experimental/__event/*.cuh",
"../../cudax/include/cuda/experimental/__hierarchy/*.cuh",
"../../cudax/include/cuda/experimental/__launch/*.cuh",
"../../cudax/include/cuda/experimental/__memory_resource/*.cuh",
"../../cudax/include/cuda/experimental/__stream/*.cuh",
]
doxygen_predefined = [
"__device__",
"__host__",
"__global__",
"_CCCL_DEVICE=",
"_CCCL_EXEC_CHECK_DISABLE=",
"_CCCL_FORCEINLINE=",
"_CCCL_GLOBAL_CONSTANT=constexpr",
"_CCCL_HOST=",
"_CCCL_HOST_DEVICE=",
"_CCCL_IF_CONSTEXPR=if constexpr",
"_CCCL_NODISCARD=[[nodiscard]]",
"_CCCL_NODISCARD_FRIEND=",
"_CCCL_STD_VER=2020",
"_CCCL_TRAIT(x, y)=x<y>::value",
"_CUDA_VMR=cuda::mr",
"_CUDA_VSTD=cuda::std",
"_LIBCUDACXX_AND=&&",
"_LIBCUDACXX_EAT_REST(x)=",
"_LIBCUDACXX_GLOBAL_CONSTANT=inline",
"_LIBCUDACXX_INLINE_VAR=inline",
"_LIBCUDACXX_REQUIRES(x)= ::cuda::std::__enable_if_t<x, int> = 0>",
"_LIBCUDACXX_TEMPLATE(x)=template<x, ",
"_LIBCUDACXX_TRAILING_REQUIRES(x)=-> x _LIBCUDACXX_EAT_REST",
"LIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE=",
]
# make sure to use ./fetch_imgs.sh
doxygen_conf_extra = """
IMAGE_PATH = ${config_root}/img
DISTRIBUTE_GROUP_DOC = Yes
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = UTF-8
EXTENSION_MAPPING = cuh=c++ cu=c++
EXAMPLE_RECURSIVE = NO
EXAMPLE_PATTERNS = *.cu
EXCLUDE_SYMBOLS = "*detail*" "__*" "_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*"
AUTOLINK_SUPPORT = YES
"""