下面是一個運行時加載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\n", major, minor);
}
else {
printf("Unkonwn Error.");
}
FreeLibrary(nvcudalib);
}
else {
printf("Load nvcuda.dll error.");
}
getchar();
return 0;
}