cuda-api-wrappers
                                
                                 cuda-api-wrappers copied to clipboard
                                
                                    cuda-api-wrappers copied to clipboard
                            
                            
                            
                        Thin, unified, C++-flavored wrappers for the CUDA APIs
We include ``, `` and `` too many times - when we have already necessarily included them earlier. Let's reduce these redundancies.
Currently, the `cuFuncSetAttribute()` can be called only in a member function of `cuda::kernel`. But - there's no good reason it shouldn't be usable outside of that object. Specifially, I'd like...
Our use of `validate_all_dimensions_compatibility()`, realized in the fix for #561, only occurs in debug mode (when NDEBUG is undefined); but I forgot to surround the definition of this function itself...
It is currently impossible to retrieve the link options from a module object :-(
Compatibility is broken at least for 9.0 and 9.2, possibly additional CUDA versions.
It seems we define `cuda::module::handle_t` twice; let's drop the second definition.
It is difficult to remember whether our main target name is runtime-and-driver, or driver-and-runtime. Let's add an alias so that they both mean the same thing.
In cuda::kernel_t::set_attribute, we have the line: ``` throw(cuda::runtime_error {cuda::status::not_yet_implemented}); ``` which should be in the #else block of the #endif for CUDA_VERSION >= 900 , but - it's in the...
Since CUDA 12, the driver finally supports a proper launch configuration object, with a bunch of flags and features: ``` CUresult cuLaunchKernelEx (const CUlaunchConfig* config, CUfunction f, void** kernelParams, void**...
Building with CUDA 11.2, and with driver 535.54.03, and on a machine with two Quadro RTX 6000 cards, getting: ``` ----- vectorAddMMAP ----- Vector Addition (using virtual memory mapping) terminate...