cuda-api-wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
Namespaces | Macros | Enumerations | Variables
constants.hpp File Reference

Fundamental CUDA-related constants and enumerations, not dependent on any more complex abstractions, placed in relevant namespaces. More...

#include "types.hpp"
Include dependency graph for constants.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 cuda
 All definitions and functionality wrapping the CUDA Runtime API.
 
 cuda::stream
 Definitions and functionality related to CUDA streams (not including the device wrapper type stream_t itself)
 
 cuda::device
 Definitions and functionality related to CUDA devices (not including the device wrapper type device_t itself)
 
 cuda::event
 Definitions and functionality related to CUDA events (not including the event wrapper type event_t itself)
 

Enumerations

enum  : native_word_t { warp_size = 32 }
 CUDA's NVCC allows use the use of the warpSize identifier, without having to define it. More...
 
enum  : device::id_t { cuda::device::default_device_id = 0 }
 
enum  : bool {
  cuda::event::sync_by_busy_waiting = false,
  cuda::event::sync_by_blocking = true
}
 Synchronization option for cuda::event_t 's. More...
 
enum  : bool {
  dont_record_timings = false,
  do_record_timings = true
}
 Should the CUDA Runtime API record timing information for events as it schedules them?
 
enum  : bool {
  cuda::event::not_interprocess = false,
  cuda::event::interprocess = true,
  single_process = not_interprocess
}
 IPC usability option for {cuda::event_t}'s. More...
 
enum  : bool {
  cuda::thread_blocks_may_cooperate = true,
  cuda::thread_blocks_may_not_cooperate = false
}
 Thread block cooperativity control for kernel launches. More...
 
enum  : memory::shared::size_t { no_dynamic_shared_memory = 0 }
 
enum  : bool {
  do_take_ownership = true,
  do_not_take_ownership = false
}
 
enum  : bool {
  do_hold_primary_context_refcount_unit = true,
  do_not_hold_primary_context_refcount_unit = false
}
 

Variables

const stream::handle_t cuda::stream::default_stream_handle = nullptr
 The CUDA runtime provides a default stream on which work is scheduled when no stream is specified; for those API calls where you need to specify the relevant stream's ID, and want to specify the default, this is what you use.
 

Detailed Description

Fundamental CUDA-related constants and enumerations, not dependent on any more complex abstractions, placed in relevant namespaces.