Windows 運行時加載動態庫


下面是一個運行時加載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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM