nvbench
nvbench copied to clipboard
NVBench should call driver API
NVBench library contains a number of CUDA driver and CUDA runtime calls. These calls are direct, such as, in main.cuh:178:
NVBENCH_DRIVER_API_CALL(cuInit(0));
When libnvbench.so is compiled it would contain versioned API symbols associated with CTK used to compile NVBench.
Using libnvbench on a machine with older driver may result in error messages. This is important in view of libnvbench.so being included in Python API of NVBench.
NVBench should make calls to CUDA driver API using cuGetProcAddress to ensure backward compatibility. See https://github.com/NVIDIA/cccl/blob/main/libcudacxx/include/cuda/__driver/driver_api.h#L136-L142