用NVAPI擷取GPU資訊

來源:互聯網
上載者:User

通過nvapi可以獲得GPU的溫度和績效參數。首頁在這裡:https://developer.nvidia.com/nvapi

My Code基礎是來自互連網,不過略加變化。首先是擷取物理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;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.