用NVAPI获取GPU信息

本文介绍了如何利用NVAPI来获取GPU的温度和性能参数,包括获取物理GPU信息、温度监测以及性能数据。作者强调代码来源并鼓励分享知识,促进技术发展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

通过nvapi可以获得GPU的温度和性能参数。主页在这里:https://developer.nvidia.com/nvapi

我的代码基础是来自互联网,不过略加变化。首先是获取物理GPU,然后是获取温度,最后是获取GPU性能。另外,获取GPU性能不需要自己通过offset从dll中导出函数。


#include "stdafx.h"#include "R313-developer/nvapi.h"int _tmain(int argc, _TCHAR* argv[]){    NvAPI_Status ret = NVAPI_OK;    int i=0;    NvDisplayHandle hDisplay_a[NVAPI_MAX_PHYSICAL_GPUS*2] = {0};    ret = NvAPI_Initialize();    if (!ret == NVAPI_OK){        NvAPI_ShortString str;        NvAPI_GetErrorMessage(ret, str);        printf("NVAPI NvAPI_Initialize: %s\n", str);  return 1;    }    NvAPI_ShortString ver;    NvAPI_GetInterfaceVersionString(ver);    printf("NVAPI Version: %s\n", ver);    NvU32 cnt;    NvPhysicalGpuHandle phys;    ret = NvAPI_EnumPhysicalGPUs(&phys, &cnt);    if (!ret == NVAPI_OK){        NvAPI_ShortString string;        NvAPI_GetErrorMessage(ret, string);        printf("NVAPI NvAPI_EnumPhysicalGPUs: %s\n", string);  return 1;    }    NvAPI_ShortString name;    NV_GPU_THERMAL_SETTINGS thermal;    ret = NvAPI_GPU_GetFullName(phys, name);    if (!ret == NVAPI_OK){        NvAPI_ShortString string;        NvAPI_GetErrorMessage(ret, string);        printf("NVAPI NvAPI_GPU_GetFullName: %s\n", string);  return 1;    }    printf("Name: %s\n", name);    thermal.version = NV_GPU_THERMAL_SETTINGS_VER;    ret = NvAPI_GPU_GetThermalSettings(phys,0, &thermal);    if (!ret == NVAPI_OK){        NvAPI_ShortString string;        NvAPI_GetErrorMessage(ret, string);        printf("NVAPI NvAPI_GPU_GetThermalSettings: %s\n", string);  return 1;    }  printf("Temp: %u C\n", static_cast<unsigned>(thermal.sensor[0].currentTemp)); NV_GPU_DYNAMIC_PSTATES_INFO_EX infoEx; infoEx.version = NV_GPU_DYNAMIC_PSTATES_INFO_EX_VER; ret = NvAPI_GPU_GetDynamicPstatesInfoEx(phys, &infoEx); if (!ret == NVAPI_OK) {        NvAPI_ShortString string;        NvAPI_GetErrorMessage(ret, string);        printf("NVAPI NvAPI_GPU_GetDynamicPstatesInfoEx: %s\n", string);  return 1; } //printf("Physical GPU utilization%s", infoEx.utilization[0].);     return 0;


           

给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值