Dynamic loading Windows Runtime

Here is a run-time load nvcuda.dll, and detects the example of the current version of CUDA driver version maximum support.

#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;
}

Guess you like

Origin www.cnblogs.com/pplxlee/p/11419776.html