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

Implementations requiring the definitions of multiple CUDA entity proxy classes, and which regard apriori-compiled kernels. More...

#include "../kernels/apriori_compiled.hpp"
#include "device.hpp"
#include "kernel.hpp"
Include dependency graph for apriori_compiled_kernel.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 KernelFunctionPtr >
apriori_compiled_t cuda::kernel::get (const device_t &device, KernelFunctionPtr function_ptr)
 Choose an association of a __global__ kernel function with a context (or a device's primary context), and produce a proxy object for that association with which the library can more readily act. More...
 

Detailed Description

Implementations requiring the definitions of multiple CUDA entity proxy classes, and which regard apriori-compiled kernels.

Specifically:

  1. Functions in the cuda::kernel namespace.
  2. Methods of cuda::kernel_t and possibly some relates classes.

Function Documentation

◆ get()

template<typename KernelFunctionPtr >
apriori_compiled_t cuda::kernel::get ( const device_t device,
KernelFunctionPtr  function_ptr 
)

Choose an association of a __global__ kernel function with a context (or a device's primary context), and produce a proxy object for that association with which the library can more readily act.

Obtain a wrapped kernel object corresponding to a "raw" kernel function.

Note
The returned kernel proxy object will keep the device's primary
Parameters
deviceThe device with whose primary context to construct an associated kernel object
Note
Kernel objects are device (and context) specific;' but kernels built from functions in program sources are used (only?) with the primary context of a device
The returned kernel proxy object will keep the device's primary context active while the kernel exists.