cuda-api-wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
Public Member Functions | Friends | List of all members
cuda::link_t Class Reference

Wrapper class for a CUDA link (a process of linking compiled code together into an executable binary, using CUDA, at run-time) More...

#include <link.hpp>

Public Member Functions

device::id_t device_id () const noexcept
 The raw CUDA ID for the device w.r.t. which the event is defined.
 
context::handle_t context_handle () const noexcept
 The raw CUDA handle for the context in which the represented stream is defined.
 
bool is_owning () const noexcept
 True if this wrapper is responsible for telling CUDA to destroy the event upon the wrapper's own destruction.
 
device_t device () const
 The device w.r.t. which the event is defined.
 
context_t context () const
 The context in which this stream was defined.
 
memory::region_t complete () const
 Complete a linking process, producing a completely-linked cubin image (for loading into modules). More...
 
void add (link::input::image_t image, const link::options_t &ptx_compilation_options={}) const
 
void add_file (link::input::file_t file_input, const link::options_t &options) const
 
 link_t (const link_t &)=delete
 
 link_t (link_t &&other) noexcept
 
link_toperator= (const link_t &)=delete
 
link_toperator= (link_t &&other) noexcept
 

Friends

link_t link::wrap (device::id_t, context::handle_t, link::handle_t, const link::options_t &, bool) noexcept
 

Detailed Description

Wrapper class for a CUDA link (a process of linking compiled code together into an executable binary, using CUDA, at run-time)

Note
This class is a "reference type", not a "value type". Therefore, making changes to the link is a const-respecting operation on this class.

Member Function Documentation

◆ complete()

memory::region_t cuda::link_t::complete ( ) const
inline

Complete a linking process, producing a completely-linked cubin image (for loading into modules).

Returns
The completely-linked cubin image, in a sized memory range. This memory is owned by the link object, and must not be freed/deleted.

The documentation for this class was generated from the following file: