CUDA driver CUmodule

CUDA driver CUmodule

本文关键字:CUmodule driver CUDA      更新时间:2023-10-16

我试图了解在实践中CUmodule在CUDA驱动程序API函数中代表什么。

许多CUDA驱动程序API函数有一个CUmodule句柄,但它是什么?它是一个dll的句柄,引导驱动程序调用过程,我可以调用像GetProcAddress这样的CUDA函数的名称或什么?

请简单点(最好是简单的英语)

这是你加载的cuda编译二进制文件的句柄(简单的google查找和逻辑:p)

来源示例:

#include <stdio.h>
#include <cuda.h>
#include <cuda_runtime_api.h>
int main() {
    CUresult error;
    CUdevice cuDevice;
    CUcontext cuContext;
    CUmodule cuModule;
    CUfunction testkernel;
    // Initialize
    error = cuInit(0);
    if (error != CUDA_SUCCESS) printf("ERROR: cuInit, %in", error);
    error = cuDeviceGet(&cuDevice, 0);
    if (error != CUDA_SUCCESS) printf("ERROR: cuInit, %in", error);
    error = cuCtxCreate(&cuContext, 0, cuDevice);
    if (error != CUDA_SUCCESS) printf("ERROR: cuCtxCreate, %in", error);
    error = cuModuleLoad(&cuModule, "test.cubin");//see here!
    if (error != CUDA_SUCCESS) printf("ERROR: cuModuleLoad, %in", error);
    error = cuModuleGetFunction(&testkernel, cuModule, "a");
    if (error != CUDA_SUCCESS) printf("ERROR: cuModuleGetFunction, %in", error);
    return 0;
}