zoukankan      html  css  js  c++  java
  • 获取NVIDIA显卡的温度

    NVIDIA显卡在硬件上有温度传感器,可以感知显卡的运行环境。温度数据的获取,一般是通过调用NVIDIA的SDK的相关函数即可。SDK的下载的网址(https://developer.nvidia.com/nvapi),里面有一些sample code可以参考。获取温度的函数是NvAPI_GPU_GetThermalSettings。参考代码如下:

    int main()
         {
            NvAPI_Status ret = NVAPI_OK;
            ret = NvAPI_Initialize();
    
            if(ret != NVAPI_OK)
            {
                printf("NvAPI_Initialize() failed = 0x%x", ret);
                return 1; // Initialization failed
            }
    
            NvPhysicalGpuHandle hPhysicalGpu[NVAPI_MAX_PHYSICAL_GPUS];
    
            for (NvU32 PhysicalGpuIndex = 0; PhysicalGpuIndex < NVAPI_MAX_PHYSICAL_GPUS; PhysicalGpuIndex++)
            {
                hPhysicalGpu[PhysicalGpuIndex]=0;
            }
    
             ret = NvAPI_EnumPhysicalGPUs(hPhysicalGpu, &physicalGpuCount);
            if(ret != NVAPI_OK)
            {
                printf("Cannot enumerate GPUs in the system...
    ");
                getchar();
                exit(1);
            }
    
            NV_GPU_THERMAL_SETTINGS currentTemp;//获取温度的数据结构
            currentTemp.version = NV_GPU_THERMAL_SETTINGS_VER;//一定要设置,不然调用获取温度函数时候会出错
            for(NvU32 GpuIndex = 0; GpuIndex < physicalGpuCount; GpuIndex++)
            {
                ret = NvAPI_GPU_GetThermalSettings(hPhysicalGpu[PhysicalGpuIndex], NVAPI_THERMAL_TARGET_ALL,¤tTemp);//获取温度
                if(ret == NVAPI_OK)
                {
                    printf("current temperature=%d
    ",currentTemp.sensor[0].currentTemp);
                }
    
            }
    
            return 0;
         }


  • 相关阅读:
    mfc判断当前程序是否正在运行
    mfc通过信号量保证线程同步
    delete和析构函数
    获取当前运行的exe路径
    mfc移动文件夹
    Cmake实现样例
    安装Node.js以及Hexo
    分类与回归的关系和区别
    從文本到視覺:各領域最前沿的論文集合
    ubuntu 终端$换行
  • 原文地址:https://www.cnblogs.com/mao0504/p/5619104.html
Copyright © 2011-2022 走看看