Skip to content

Conversation

@pciolkosz
Copy link
Contributor

This PR moves the parts of launch API ready for release to libcu++. Graphs related and cuda::execution parts will remain experimental.

I also commented out extended lambda testing to figure out cmake changes needed to add the compilation flag to that specific test

@pciolkosz pciolkosz requested review from a team as code owners November 18, 2025 07:05
@github-project-automation github-project-automation bot moved this to Todo in CCCL Nov 18, 2025
@cccl-authenticator-app cccl-authenticator-app bot moved this from Todo to In Review in CCCL Nov 18, 2025
@github-project-automation github-project-automation bot moved this from In Review to In Progress in CCCL Nov 18, 2025
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

const cudax::device_buffer<int> b = cudax::make_buffer(stream, resource, a.size(), 1);

cudax::launch(stream, cudax::make_config(cuda::grid_dims<1>, cuda::block_dims<32>), add_kernel{}, a, b);
cudax::launch(stream, cuda::make_config(cuda::grid_dims<1>, cuda::block_dims<32>), add_kernel{}, a, b);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: cuda::make_config is too generic in my opinion. We should find a better name in a separate PR

__device__ void operator()(Config config)
{
decltype(auto) dynamic_smem = cudax::device::dynamic_shared_memory_view(config);
decltype(auto) dynamic_smem = cuda::dynamic_shared_memory_view(config);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
decltype(auto) dynamic_smem = cuda::dynamic_shared_memory_view(config);
decltype(auto) dynamic_smem = cuda::device::dynamic_shared_memory_view(config);

@github-actions

This comment has been minimized.

launch/launch_smoke.cu
)

cudax_add_catch2_test(test_target launch_configuration ${cudax_target}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heads up that this will need to be rebased or have main merged in -- we no longer pass cudax_target here.

@jrhemstad jrhemstad requested review from davebayer and miscco December 3, 2025 19:01
Comment on lines +151 to +152
//! Launches a kernel functor object on the specified stream and with specified
//! configuration. Kernel functor object is a type with __device__ operator().
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, fix your clang-format :)

@github-actions

This comment has been minimized.

@github-project-automation github-project-automation bot moved this from In Progress to In Review in CCCL Dec 4, 2025
@github-actions

This comment has been minimized.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

🥳 CI Workflow Results

🟩 Finished in 3h 04m: Pass: 100%/128 | Total: 21h 47m | Max: 1h 14m | Hits: 98%/219845

See results here.

@pciolkosz pciolkosz merged commit 4ab39a7 into NVIDIA:main Dec 4, 2025
274 of 279 checks passed
@github-project-automation github-project-automation bot moved this from In Review to Done in CCCL Dec 4, 2025
github-actions bot pushed a commit that referenced this pull request Dec 4, 2025
* Move launch API from cudax to libcu++

* Review feedback and test fixes

* More fixes

* GCC7 fix

* Update libcudacxx/include/cuda/__launch/configuration.h

* Fix old GCC

---------

Co-authored-by: David Bayer <[email protected]>
(cherry picked from commit 4ab39a7)
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

Successfully created backport PR for branch/3.2.x:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants