cuda-api-wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
|
Fundamental CUDA-related constants and enumerations, not dependent on any more complex abstractions, placed in relevant namespaces. More...
#include "types.hpp"
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. | |
Fundamental CUDA-related constants and enumerations, not dependent on any more complex abstractions, placed in relevant namespaces.