---
id: pr-cccl-cub-6608
repo: NVIDIA/cccl
pr: 6608
title: Fix `cuda::memcpy async` edge cases and add more tests
author: bernhardmgruber
date: '2025-12-19'
url: https://github.com/NVIDIA/cccl/pull/6608
source_category: upstream-code
architectures:
- sm100
tags:
- cooperative-groups
techniques: []
hardware_features: []
kernel_types: []
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 7d389d4d928333e96137cc9bae2b9062f28988ba
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- docs/libcudacxx/extended_api/asynchronous_operations/memcpy_async.rst
- libcudacxx/include/cuda/__memcpy_async/cp_async_bulk_shared_global.h
- libcudacxx/include/cuda/__memcpy_async/elect_one.h
- libcudacxx/include/cuda/__memcpy_async/group_traits.h
- libcudacxx/include/cuda/pipeline
- libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async.h
- libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async_16b.pass.cpp
- libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async_32b.pass.cpp
- libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async_64b.pass.cpp
- libcudacxx/test/libcudacxx/cuda/memcpy_async/memcpy_async_block.pass.cpp
artifact_dir: evidence/pull-bundles/cccl-cub/gh-6608
head_ref_oid: b33bd9f6a87c3d18ead2f6887c22104a859c89db
---
# Fix `cuda::memcpy async` edge cases and add more tests

- Repository: `NVIDIA/cccl`
- PR: [6608](https://github.com/NVIDIA/cccl/pull/6608)
- Decision: `Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.`
- Reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.

## Changed Paths

- `docs/libcudacxx/extended_api/asynchronous_operations/memcpy_async.rst`
- `libcudacxx/include/cuda/__memcpy_async/cp_async_bulk_shared_global.h`
- `libcudacxx/include/cuda/__memcpy_async/elect_one.h`
- `libcudacxx/include/cuda/__memcpy_async/group_traits.h`
- `libcudacxx/include/cuda/pipeline`
- `libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async.h`
- `libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async_16b.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async_32b.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/memcpy_async/group_memcpy_async_64b.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/memcpy_async/memcpy_async_block.pass.cpp`

## Evidence Bundle

`evidence/pull-bundles/cccl-cub/gh-6608`
