Want to set GPU clock rate in my app, confused by NVML & clocks

I have released version 0.8.0 of cuda-api-wrappers , my lightweight, Modern-C++, header-only wrapper library for CUDA.

Changes in this version relative to the previous 0.7.1:

  • The library now also wraps libNVFatbin, supporting fatbin file creation (e.g. following compilation with libnvptxcompiler or libnvrtc)
  • Added “static” targets; this is a header-only library, so what these do is pass on dependencies on CUDA’s static versions of libraries (when those are available)
  • Unified sync and async memory operation API, into single functions with an optional-reference to a stream object.
  • … speaking of which - introduced an optional_ref class; read about why this is a thing.
  • Supporting a few more CUDA 12.x features, e.g. listing the kernels in a module
  • Several other minor changes.

As usual, and since I’m the sole developer - user feedback is very much appreciated, either as issues you can file or a simple email with questions, suggestions, or just sharing the experiences of using the wrappers on some project.

PS - The library is available on conan and vcpkg, but - not yet this latest version I’m afraid :-(