2010-03-04 141 views
3

我需要爲我的課程寫幾個關於低級視頻卡控制的應用程序。 例如 - 溫度,工作SM,管理對他們的訪問等。OS linux,tesla c1060。NVidia視頻卡 - 獲取統計信息

你能給我幾個建議在哪裏搜索這種信息?

CUDA不提供這些功能。它必須是dev \ nvidia * probabaly的一些工作。或不?我從來沒有寫過這樣的東西 - 任何建議都會受到歡迎。

謝謝。

UPD: nvidia-settings很不錯,但並不能提供所有我需要的東西。 MB有更多的方法如何在c \ cuda的ptx上做到這一點?

回答

2

有幾個選項值得思考,你可以使用guru3d.com的RivaTuner v2.24c和/或CPU-ID獲取更多信息。但是,我注意到您正在使用Linux,因此您應該能夠安裝最新的NVidia驅動程序並運行nvidia-settings -h以查看查看溫度和各種其他信息的選項。祝你好運!

+0

謝謝,nvidia-settings是很好的工具 – ShPavel 2010-03-04 12:23:47

0

如果您對支持哪些功能感興趣,可以編寫一個DirectX程序來查詢該卡的功能。

2

我知道這是遲了2年,但如果您正在尋找一個面向庫的選項,Nvidia的NVML API可以完成所有這些。看看吧here!謝天謝地,文檔做得非常好。我有我的C++應用程序在大約一個小時內查詢我的GPU溫度。

編輯 這裏有一些代碼來獲得GPU溫度。請注意,此代碼對於單卡系統(按原樣)起作用。

#include "nvml.h" 

using namespace std; 

Nvidia::Nvidia() 
{ 
    nvmlInit(); 
} 

Nvidia::~Nvidia() 
{ 
    //dtor 
} 


unsigned int Nvidia::FetchTemp() 
{ 
unsigned int DeviceCount; 
nvmlReturn_t Rval=nvmlDeviceGetCount(&DeviceCount); //return type enum 
if(Rval!=0) 
{ 
    //Card read error 
    return 0; 
} 
//Turn Count into index 
DeviceCount--; 
//Get Prereqs 
nvmlDevice_t Device; 
Rval=nvmlDeviceGetHandleByIndex(DeviceCount,&Device); 
if(Rval!=0) 
{ 
    //Card read error 
    return 0; 
} 
nvmlTemperatureSensors_t TSensors=NVML_TEMPERATURE_GPU; 

//Get Temperature 
unsigned int Temp=0; 
Rval=nvmlDeviceGetTemperature(Device,TSensors,&Temp); 
if(Rval!=0) 
{ 
    //Card read error 
    return 0; 
} 
return Temp; 
}