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

Wrappers for linking modules of compiled CUDA code. More...

#include "current_context.hpp"
#include "link_options.hpp"
#include "memory.hpp"
#include "module.hpp"
Include dependency graph for link.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cuda::link::input::image_t
 A typed, named, image in memory which can be used as an input to a runtime CUDA linking-process. More...
 
struct  cuda::link::input::file_t
 A typed, named, image in a file which can be used as an input to a runtime CUDA linking-process. More...
 
class  cuda::link_t
 Wrapper class for a CUDA link (a process of linking compiled code together into an executable binary, using CUDA, at run-time) More...
 

Namespaces

 cuda
 Definitions and functionality wrapping CUDA APIs.
 
 
 

Typedefs

using cuda::link::handle_t = CUlinkState
 A raw CUDA driver handle for a linking-process.
 

Enumerations

enum  cuda::link::input_kind_t {
  cubin,
  cuda::link::input_kind_t::ptx,
  cuda::link::input_kind_t::fatbin,
  cuda::link::input_kind_t::object,
  cuda::link::input_kind_t::library
}
 Kinds of images which can be used by the linker (some may require driver compilation work) More...
 

Functions

link_t cuda::link::wrap (device::id_t device_id, context::handle_t context_handle, link::handle_t handle, const link::options_t &options, bool take_ownership=false) noexcept
 Wrap an existing CUDA link-process in a link_t wrapper class instance. More...
 
link_t cuda::link::create (const void *image, const link::options_t &options)
 
link_t cuda::link::create (const link::options_t &options=link::options_t{})
 Create a new link-process (before adding any compiled images or or image-files)
 

Detailed Description

Wrappers for linking modules of compiled CUDA code.