cuda-api-wrappers v0.3.3 Release Notes
Release Date: 2020-07-20 // over 3 years ago-
๐ This release includes both significant additions to the coverage by the wrappers, as well as major changes to the existing wrappers API.
Main changes since 0.2.0:
- Forget about numeric handles! The wrapper classes no longer take numeric handles as parameters, in methods exposed to the user. You'll be dealing with
device_t
's,event_t
's,stream_t
's etc. - notdevice::id_t
,device::stream_t
anddevice::event_t
's. - Wrappers classes no longer templated. That means, on one hand, you don't have to worry about the template argument of "do we assume the wrapper's device is the current one?" ; but on the other hand, every use of the wrapper will set the current device (even if it's already the right one). A lot of code was simplified or even remoed thanks to this change.
device_function_t
is now namedkernel_t
, as only kernels are acceptable by the CUDA Runtime API calls mentioning "device functions". Also,kernel_t
's are now a pair of (kernel, device), as the settings which can be made for a kernel are mostly/entirely device-specific.- ๐ The examples
CMakeLists.txt
has been split off from the mainCMakeFiles.txt
and moved into a subdirectory, removing any dependencies it may have. - Kernel launching now uses perfect forwarding of all parameters.
- ๐ป The library is now almost completely header-only. The single exception to this rule is profiling-related code. If you don't use it - the library is header-only for you.
- ๐ Changed my email address in the code...
Main additions since 0.2.0:
- ๐ 2D and 3D Array support.
- ๐ 2D and 3D texture support.
- A single
set()
andget()
for all memory spaces.
๐ Plus a few bug fixes, and another example program from the CUDA samples.
๐ Changes from 0.3.0:
- ๐ Fixed: Self-recursion in one of the memory allocation functions.
- ๐ Fixed: Added missing
inline
specifiers to some functions - White space tweaks
- Forget about numeric handles! The wrapper classes no longer take numeric handles as parameters, in methods exposed to the user. You'll be dealing with