cuda-api-wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
kernel_launch.hpp File Reference

Implementations requiring the definitions of multiple CUDA entity proxy classes, of kernel-launch-related functions. More...

#include "kernel.hpp"
#include "../types.hpp"
#include "../memory.hpp"
#include "../stream.hpp"
#include "../kernel_launch.hpp"
#include "../pointer.hpp"
#include "../device.hpp"
#include <cuda_runtime.h>
Include dependency graph for kernel_launch.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 cuda
 Definitions and functionality wrapping CUDA APIs.
 

Functions

template<typename Kernel , typename... KernelParameters>
void cuda::enqueue_launch (Kernel &&kernel, const stream_t &stream, launch_configuration_t launch_configuration, KernelParameters &&... parameters)
 Enqueues a kernel on a stream (=queue) on the current CUDA device. More...
 
template<typename Kernel , typename... KernelParameters>
void cuda::launch (Kernel &&kernel, launch_configuration_t launch_configuration, KernelParameters &&... parameters)
 Variant of enqueue_launch for use with the default stream in the current context. More...
 
template<typename SpanOfConstVoidPtrLike >
void cuda::launch_type_erased (const kernel_t &kernel, const stream_t &stream, launch_configuration_t launch_configuration, SpanOfConstVoidPtrLike marshalled_arguments)
 Launch a kernel with the arguments pre-marshalled into the (main) form which the CUDA driver's launch primitive accepts variables in: A null- terminated sequence of (possibly const) void *'s to the argument values. More...
 

Detailed Description

Implementations requiring the definitions of multiple CUDA entity proxy classes, of kernel-launch-related functions.