4.14. 系统查询
本章介绍 NVML 可以对本地系统执行的查询。这些查询不是设备特定的。
类
定义
- #define NVML_CUDA_DRIVER_VERSION_MAJOR ( v ) ((v)/1000)
函数
- nvmlReturn_t nvmlSystemGetCudaDriverVersion ( int* cudaDriverVersion )
- nvmlReturn_t nvmlSystemGetCudaDriverVersion_v2 ( int* cudaDriverVersion )
- nvmlReturn_t nvmlSystemGetDriverBranch ( nvmlSystemDriverBranchInfo_t* branchInfo, unsigned int length )
- nvmlReturn_t nvmlSystemGetDriverVersion ( char* version, unsigned int length )
- nvmlReturn_t nvmlSystemGetHicVersion ( unsigned int* hwbcCount, nvmlHwbcEntry_t* hwbcEntries )
- nvmlReturn_t nvmlSystemGetNVMLVersion ( char* version, unsigned int length )
- nvmlReturn_t nvmlSystemGetProcessName ( unsigned int pid, char* name, unsigned int length )
- nvmlReturn_t nvmlSystemGetTopologyGpuSet ( unsigned int cpuNumber, unsigned int* count, nvmlDevice_t* deviceArray )
函数
- nvmlReturn_t nvmlSystemGetCudaDriverVersion ( int* cudaDriverVersion )
-
参数
- cudaDriverVersion
- 返回版本标识符的引用
描述
检索 CUDA 驱动程序的版本。
适用于所有产品。
返回的 CUDA 驱动程序版本将从当前安装的 CUDA 版本中检索。如果未找到 cuda 库,此函数将返回已知的受支持版本号。
- nvmlReturn_t nvmlSystemGetCudaDriverVersion_v2 ( int* cudaDriverVersion )
-
参数
- cudaDriverVersion
- 返回版本标识符的引用
返回值
- NVML_SUCCESS 如果已设置 cudaDriverVersion
- NVML_ERROR_INVALID_ARGUMENT 如果 cudaDriverVersion 为 NULL
- NVML_ERROR_LIBRARY_NOT_FOUND 如果未找到 libcuda.so.1 或 libcuda.dll
- NVML_ERROR_FUNCTION_NOT_FOUND 如果在共享库中未找到 cuDriverGetVersion()
描述
从共享库中检索 CUDA 驱动程序的版本。
适用于所有产品。
通过调用 cuDriverGetVersion() 返回的 CUDA 驱动程序版本
- nvmlReturn_t nvmlSystemGetDriverBranch ( nvmlSystemDriverBranchInfo_t* branchInfo, unsigned int length )
-
参数
- branchInfo
- 指向驱动程序分支信息结构 nvmlSystemDriverBranchInfo_t 的指针
- length
- 驱动程序分支字符串的最大允许长度
返回值
- NVML_SUCCESS 成功完成
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 branchInfo 为 NULL
- NVML_ERROR_INSUFFICIENT_SIZE 如果 length 太小
- NVML_ERROR_UNKNOWN 发生任何意外错误
描述
检索系统上安装的 NVIDIA 驱动程序的分支。
适用于所有产品。
分支标识符是一个字母数字字符串。它不会超过 80 个字符的长度(包括 NULL 终止符)。请参阅 nvmlConstants::NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE。
- nvmlReturn_t nvmlSystemGetDriverVersion ( char* version, unsigned int length )
-
参数
- version
- 返回版本标识符的引用
- length
- 版本中返回的字符串的最大允许长度
返回值
- NVML_SUCCESS 如果已设置版本
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果版本为 NULL
- NVML_ERROR_INSUFFICIENT_SIZE 如果 length 太小
描述
检索系统图形驱动程序的版本。
适用于所有产品。
版本标识符是一个字母数字字符串。它不会超过 80 个字符的长度(包括 NULL 终止符)。请参阅 nvmlConstants::NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE。
- nvmlReturn_t nvmlSystemGetHicVersion ( unsigned int* hwbcCount, nvmlHwbcEntry_t* hwbcEntries )
-
参数
- hwbcCount
- hwbcEntries 数组的大小
- hwbcEntries
- 包含有关 hwbc 信息的数组
返回值
- NVML_SUCCESS 如果已填充 hwbcCount 和 hwbcEntries
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 hwbcCount 或 hwbcEntries 为 NULL
- NVML_ERROR_INSUFFICIENT_SIZE 如果 hwbcCount 指示 hwbcEntries 数组太小
描述
检索系统中任何主机接口卡 (HIC) 的 ID 和固件版本。
适用于 S 级产品。
hwbcCount 参数应设置为输入 hwbcEntries 数组的大小。HIC 必须连接到 S 级系统才能由此函数报告。
- nvmlReturn_t nvmlSystemGetNVMLVersion ( char* version, unsigned int length )
-
参数
- version
- 返回版本标识符的引用
- length
- 版本中返回的字符串的最大允许长度
返回值
- NVML_SUCCESS 如果已设置版本
- NVML_ERROR_INVALID_ARGUMENT 如果版本为 NULL
- NVML_ERROR_INSUFFICIENT_SIZE 如果 length 太小
描述
检索 NVML 库的版本。
适用于所有产品。
版本标识符是一个字母数字字符串。它不会超过 80 个字符的长度(包括 NULL 终止符)。请参阅 nvmlConstants::NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE。
- nvmlReturn_t nvmlSystemGetProcessName ( unsigned int pid, char* name, unsigned int length )
-
参数
- pid
- 进程的标识符
- name
- 返回进程名称的引用
- length
- 名称中返回的字符串的最大允许长度
返回值
- NVML_SUCCESS 如果已设置名称
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果名称为 NULL 或长度为 0。
- NVML_ERROR_NOT_FOUND 如果进程不存在
- NVML_ERROR_NO_PERMISSION 如果用户没有执行此操作的权限
- NVML_ERROR_UNKNOWN 发生任何意外错误
描述
获取具有提供的进程 ID 的进程名称
适用于所有产品。
返回的进程名称被裁剪为提供的长度。名称字符串以 ANSI 编码。
- nvmlReturn_t nvmlSystemGetTopologyGpuSet ( unsigned int cpuNumber, unsigned int* count, nvmlDevice_t* deviceArray )
-
参数
- cpuNumber
- CPU 编号
- count
- 当为零时,设置为匹配 GPU 的数量,以便可以 malloc deviceArray。当非零时,deviceArray 将填充 count 数量的设备句柄。
- deviceArray
- 与 cpuNumber 具有亲和性的 GPU 的设备句柄数组
返回值
- NVML_SUCCESS 如果已设置 deviceArray 或 count(如果最初为零)
- NVML_ERROR_INVALID_ARGUMENT 如果 cpuNumber 或 count 无效,或者 deviceArray 在 count 非零时为 NULL
- NVML_ERROR_NOT_SUPPORTED 如果设备或操作系统不支持此功能
- NVML_ERROR_UNKNOWN 底层拓扑发现中发生错误
描述
检索与给定 CPU 编号具有 CPU 亲和性的 GPU 集合。适用于所有产品。仅在 Linux 上受支持。