Files
project_6/cccl_upstream/docs/libcudacxx/extended_api/memory.rst
muh-bot 2a7ca101d7 feat(cccl): integrate missing CCCL directories — python/, ci/, .agent/, docs/, test/
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
2026-08-07 02:34:33 +00:00

85 lines
2.6 KiB
ReStructuredText

.. _libcudacxx-extended-api-memory:
Memory
======
.. toctree::
:hidden:
:maxdepth: 1
memory/align_down
memory/align_up
memory/aligned_size
memory/discard_memory
memory/get_device_address
memory/is_address_from
memory/is_aligned
memory/ptr_rebind
memory/ptr_in_range
memory/ranges_overlap
memory/is_pointer_accessible
.. list-table::
:widths: 25 45 30 30
:header-rows: 1
* - **Header**
- **Content**
- **CCCL Availability**
- **CUDA Toolkit Availability**
* - :ref:`aligned_size_t <libcudacxx-extended-api-memory-aligned-size>`
- Defines an extent of bytes with a statically defined alignment.
- libcu++ 1.2.0 / CCCL 2.0.0 (in ``<cuda/memory>`` since CCCL 3.1.0)
- CUDA 11.1
* - :ref:`discard_memory <libcudacxx-extended-api-memory-discard-memory>`
- Writes indeterminate values to memory
- libcu++ 1.6.0 / CCCL 2.0.0 (in ``<cuda/memory>`` since CCCL 3.1.0)
- CUDA 11.5
* - :ref:`get_device_address <libcudacxx-extended-api-memory-get-device-address>`
- Returns a valid address to a device object
- CCCL 2.8.0 (in ``<cuda/memory>`` since CCCL 3.1.0)
- CUDA 12.9
* - :ref:`is_address_from and is_object_from <libcudacxx-extended-api-memory-is_address_from>`
- Check if a pointer or object is from a specific address space
- CCCL 3.1.0
- CUDA 13.1
* - :ref:`is_aligned <libcudacxx-extended-api-memory-is_aligned>`
- Check if a pointer is aligned
- CCCL 3.1.0
- CUDA 13.1
* - :ref:`align_up <libcudacxx-extended-api-memory-align_up>`
- Align up a pointer to the specified alignment
- CCCL 3.1.0
- CUDA 13.1
* - :ref:`align_down <libcudacxx-extended-api-memory-align_down>`
- Align down a pointer to the specified alignment
- CCCL 3.1.0
- CUDA 13.1
* - :ref:`ptr_rebind <libcudacxx-extended-api-memory-ptr_rebind>`
- Rebind a pointer to a different type
- CCCL 3.1.0
- CUDA 13.1
* - :ref:`ptr_in_range <libcudacxx-extended-api-memory-ptr_in_range>`
- Check if a pointer is in a range
- CCCL 3.1.0
- CUDA 13.1
* - :ref:`ranges_overlap <libcudacxx-extended-api-memory-ranges_overlap>`
- Check if two ranges overlap
- CCCL 3.2.0
- CUDA 13.2
* - :ref:`is_host_accessible <libcudacxx-extended-api-memory-is_pointer_accessible>`, :ref:`is_device_accessible <libcudacxx-extended-api-memory-is_pointer_accessible>`, :ref:`is_managed <libcudacxx-extended-api-memory-is_pointer_accessible>`
- Check if a pointer is accessible from the host, device, or managed memory
- CCCL 3.2.0
- CUDA 13.2