|
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 | |
| Definitions and functionality wrapping CUDA APIs. | |
| 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 cuda::device_t itself) | |
| cuda::event | |
| CUDA timing functionality, via events and their related code (not including the event wrapper type event_t itself) | |
Enumerations | |
| enum | { 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.