cuda::experimental::stf::cuda_kernel_desc

Defined in include/cuda/experimental/__stf/internal/cuda_kernel_scope.cuh

struct cuda_kernel_desc

Description of a CUDA kernel.

This is used to describe kernels passed to the ctx.cuda_kernel and ctx.cuda_kernel_chain API calls.

Public Types

using func_variant_t = ::std::variant<CUfunction, CUkernel, const void*>

Public Functions

cuda_kernel_desc() = default
template<typename Fun, typename ...Args>
inline cuda_kernel_desc(Fun func, dim3 gridDim_, dim3 blockDim_, size_t sharedMem_, Args... args)
template<typename Fun, typename ...Args>
inline void configure(Fun func, dim3 gridDim_, dim3 blockDim_, size_t sharedMem_, Args... args)
template<typename Fun>
inline void configure_raw(Fun func, dim3 gridDim_, dim3 blockDim_, size_t sharedMem_, int arg_cnt, const void **args)
inline void launch(cudaStream_t stream) const
inline void launch_in_graph(cudaGraphNode_t &node, cudaGraph_t &graph) const
inline int get_num_registers() const

Public Members

func_variant_t func_variant
dim3 gridDim
dim3 blockDim
size_t sharedMem = 0
mutable ::std::vector<void*> args_ptr