Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
f2a3777
Allow CUfunction (driver API) in the cuda_kernel(_chain) API
caugonnet Jul 11, 2025
b3304a1
clang-format
caugonnet Jul 11, 2025
8651e9f
We have a std::tuple not a cuda::std::tuple (yet)
caugonnet Jul 11, 2025
0a0cd17
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 11, 2025
f9bf270
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 11, 2025
fd42c70
If CUDASTF_CUDA_KERNEL_DEBUG is set, we display the number of registe…
caugonnet Jul 11, 2025
e12de1c
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 12, 2025
a8aa5f1
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 18, 2025
74a4577
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 18, 2025
b809199
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 18, 2025
f36fcd0
Support CUkernel in addition to CUfunction
caugonnet Jul 18, 2025
b2002d8
Add a test with CUfunction and CUkernel
caugonnet Jul 18, 2025
6db15e2
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 18, 2025
22c758a
Check whether CUkernel is supported
caugonnet Jul 18, 2025
02ded8b
use _CCCL_ASSERT instead of assert to avoid an unused variable error
caugonnet Jul 18, 2025
ebeb703
cudaGetKernel was added in CUDA 12.1
caugonnet Jul 18, 2025
2f298b7
clang-format
caugonnet Jul 18, 2025
af8eec6
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 19, 2025
3d9b7a5
Extract the start and end phase of the ->* operator
caugonnet Jul 20, 2025
ac92c82
There is no need to store untyped_t as we now store the task with its…
caugonnet Jul 20, 2025
5017413
Implement the low level interface for cuda_kernel(_chain) with a way …
caugonnet Jul 20, 2025
1dd1ff5
- Add a test to ensure we can put no arguments in the cuda_kernel_des…
caugonnet Jul 20, 2025
2b975be
simpler code, and do not check for CUDA_VERSION >= 12
caugonnet Jul 23, 2025
43e9f3b
Simpler code
caugonnet Jul 23, 2025
6f1fad0
Update cudax/include/cuda/experimental/__stf/internal/cuda_kernel_sco…
caugonnet Jul 23, 2025
7302745
clang-format
caugonnet Jul 23, 2025
8aa7b79
Do not test for CUDA_VERSION >= 12
caugonnet Jul 23, 2025
6db09df
Add missing const
caugonnet Jul 23, 2025
76a9a45
Merge branch 'main' into stf_cufunction_cuda_kernel
caugonnet Jul 23, 2025
01d638f
add missing template
caugonnet Jul 23, 2025
d79090b
Use _CCCL_CTK_AT_LEAST
caugonnet Jul 23, 2025
e0672ca
replace std::visit by std::get_if in get_num_registers
caugonnet Jul 23, 2025
4c8cfaf
use ::std::get_if instead of ::std::visit
caugonnet Jul 23, 2025
316167f
Merge branch 'stf_cufunction_cuda_kernel' into stf_cuda_kernel_lowlevel
caugonnet Jul 23, 2025
e8caca4
Add some tests for get_num_registers which actually fails (thanks @da…
caugonnet Aug 1, 2025
3e2491e
Fix the method to get the number of registers for CUkernel
caugonnet Aug 1, 2025
c3a4c99
Merge branch 'stf_cufunction_cuda_kernel' into stf_cuda_kernel_lowlevel
caugonnet Aug 1, 2025
9a9cde3
Merge branch 'main' into stf_cuda_kernel_lowlevel
caugonnet Aug 4, 2025
dec6b46
Update cudax/include/cuda/experimental/__stf/internal/cuda_kernel_sco…
caugonnet Aug 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions cudax/include/cuda/experimental/__stf/internal/context.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,15 @@ class context
return *this;
}

template <typename... Args>
auto& add_kernel_desc(Args&&... args)
{
payload->*[&](auto& self) {
self.add_kernel_desc(::std::forward<Args>(args)...);
};
return *this;
}

template <typename T>
decltype(auto) get(size_t submitted_index) const
{
Expand All @@ -135,6 +144,22 @@ class context
};
}

auto& start()
{
payload->*[&](auto& self) {
self.start();
};
return *this;
}

auto& end()
{
payload->*[&](auto& self) {
self.end();
};
return *this;
}

private:
::std::variant<T1, T2> payload;
};
Expand Down
Loading