下面是一个运行时加载nvcuda.dll,并检测当前驱动版本最大支持的CUDA版本的例子。
#include "cuda.h"
#include <stdio.h>
#include <Windows.h>
typedef CUresult (__cdecl *CU_DriverGetVersion)(int *);
int main()
{
HINSTANCE nvcudalib;
nvcudalib = LoadLibrary(TEXT("nvcuda.dll"));
if(nvcudalib) {
int cudaVersion = 0;
CU_DriverGetVersion mycuDriverGetVersion
= (CU_DriverGetVersion)GetProcAddress(nvcudalib, "cuDriverGetVersion");
CUresult res = mycuDriverGetVersion(&cudaVersion);
if(res == CUDA_SUCCESS) {
int major = cudaVersion / 1000;
int minor = (cudaVersion % 1000) / 10;
printf("The latest CUDA version by your driver is %d.%d
", major, minor);
}
else {
printf("Unkonwn Error.");
}
FreeLibrary(nvcudalib);
}
else {
printf("Load nvcuda.dll error.");
}
getchar();
return 0;
}