cuda-api-wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
cuda::rtc Namespace Reference

Real-time compilation of programs using the NVIDIA libraries. More...

Namespaces

 compilation_output
 Definitions relating to and supporting the compilation_output_t class.
 
 program
 Definitions relating to source-code programs to be compiled.
 

Classes

struct  common_ptx_compilation_options_t
 A subset of the options for compiling PTX code into SASS, usable both with the CUDA driver and with NVIDIA's PTX compilation library. More...
 
struct  compilation_options_base_t
 Compilation options common to all kinds of JIT-compilable programs. More...
 
class  compilation_options_t
 Options to be passed to one of the NVIDIA JIT compilers along with a program's source code. More...
 
class  compilation_options_t< cuda_cpp >
 Options for JIT-compilation of CUDA C++ code. More...
 
class  compilation_options_t< ptx >
 Options for JIT-compilation of CUDA PTX code. More...
 
class  compilation_output_base_t
 The result of the compilation of an {rtc::program_t}, whether successful or failed, with any related byproducts. More...
 
class  compilation_output_t
 The output produced by a compilation process by one of the CUDA libraries, including any byproducts. More...
 
class  compilation_output_t< cuda_cpp >
 Output of CUDA C++ code JIT-compilation. More...
 
class  program_t
 
class  program_t< cuda_cpp >
 Wrapper class for a CUDA runtime-compilable program. More...
 
class  runtime_error
 A (base?) class for exceptions raised by CUDA code; these errors are thrown by essentially all CUDA Runtime API wrappers upon failure. More...
 

Typedefs

using ptx_register_count_t = int16_t
 The type used to specify the maximum number of SM registers to use, to the PTX compiler.
 
using optimization_level_t = int
 The type used to specify the intensity, and extent of allowed implication, of optimization efforts, for the PTX compilation.
 
using const_cstrings_span = span< const char *const >
 A span of C-style strings the contents of which must not be modified.
 
template<source_kind_t Kind>
using status_t = typename detail_::types< Kind >::status_type
 Status values returned by the NVIDIA run-time compilation libraries's API calls: The NVRTC library for CUDA C++, and the PTX compiler library.
 

Enumerations

enum  cpp_dialect_t {
  cpp03 = 0,
  cpp11 = 1,
  cpp14 = 2,
  cpp17 = 3,
  last = cpp17
}
 
enum  : rtc::optimization_level_t {
  O0 = 0,
  no_optimization = O0,
  O1 = 1,
  O2 = 2,
  O3 = 3,
  maximum_optimization = O3
}
 Commonly-used phrases regarding the optimization level (e.g. More...
 

Functions

template<typename CompilationOptions >
inline ::std::string render (const CompilationOptions &opts)
 

Variables

struct {
   optimization_level_t   minimum
 
   optimization_level_t   maximum
 
valid_optimization_level_range
 The range of optimization level values outside of which the compiler is certain not to support.
 

Detailed Description

Real-time compilation of programs using the NVIDIA libraries.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : rtc::optimization_level_t

Commonly-used phrases regarding the optimization level (e.g.

from GCC's command-line arguments), translated into the numeric levels the RTC compilation actually accepts