6.33. 驱动程序入口点访问

本节介绍低级 CUDA 驱动程序应用程序编程接口的驱动程序入口点访问函数。

函数

CUresult cuGetProcAddress ( const char* symbol, void** pfn, int  cudaVersion, cuuint64_t flags, CUdriverProcAddressQueryResult* symbolStatus )
返回请求的驱动程序 API 函数指针。

函数

CUresult cuGetProcAddress ( const char* symbol, void** pfn, int  cudaVersion, cuuint64_t flags, CUdriverProcAddressQueryResult* symbolStatus )
返回请求的驱动程序 API 函数指针。
参数
symbol
- 要查找的驱动程序 API 函数的基本名称。例如,对于驱动程序 API cuMemAlloc_v2,symbol将是 cuMemAlloc 和cudaVersion将是 _v2 变体的 ABI 兼容 CUDA 版本。
pfn
- 返回指向请求的驱动程序函数的函数指针的位置
cudaVersion
- 要查找的请求的驱动程序符号的 CUDA 版本
flags
- 用于指定搜索选项的标志。
symbolStatus
- 用于存储搜索状态的可选位置,symbol基于cudaVersion. 有关可能的值,请参阅 CUdriverProcAddressQueryResult
描述

**pfn返回请求的 CUDA 版本和标志的 CUDA 驱动程序函数的地址。

CUDA 版本指定为 (1000 * major + 10 * minor),因此 CUDA 11.2 应指定为 11020。对于请求的驱动程序符号,如果指定的 CUDA 版本大于或等于引入驱动程序符号的 CUDA 版本,则此 API 将返回指向相应版本化函数的函数指针。

API 返回的指针应强制转换为与 API 头文件中请求的驱动程序函数定义匹配的函数指针。函数指针 typedef 可以从相应的 typedefs 头文件中获取。例如,cudaTypedefs.h 包含 cuda.h 中定义的驱动程序 API 的函数指针 typedef。

如果请求的驱动程序函数在平台上不受支持,或者没有与指定的pfnAPI 将返回 CUDA_SUCCESS,并将返回的 设置为 NULL,cudaVersion或如果驱动程序符号无效。

它还将可选的symbolStatus设置为 CUdriverProcAddressQueryResult 中的值之一,含义如下

请求的标志可以是

注意

强烈建议不要在 CUDA 定义的类型和驱动程序 API 版本之间进行版本混合,这样做可能会导致未定义的行为。 更多信息请点击此处

另请参阅

cudaGetDriverEntryPoint