3

コースワークのために、低レベルのビデオカード制御に関するいくつかのアプリケーションを作成する必要があります。たとえば、温度、動作中のSM、それらへのアクセスの管理など。OSlinux、teslac1060。

この種の情報をどこで検索するかについて、いくつかアドバイスをいただけますか。

CUDAはこれらの機能を提供していません。dev \nvidia*の可能性がある作業である必要があります。か否か?私はこのようなことを書いたことがありません-どんなアドバイスも歓迎します。

ありがとう。

UPD:nvidia-settingsは良いですが、私が必要とするすべてを提供するわけではありません。Mb c \ cudaのptxでそれを行う方法は他にもいくつかありますか?

4

3 に答える 3

2

いくつかのオプションが思い浮かびます。guru3d.comのRivaTunerv2.24cやCPU-IDを使用して、もう少し詳しく知ることができます。nvidia-settings -hただし、Linuxを使用していることに気付いたので、最新のNVidiaドライバーをインストールして実行し、温度やその他のさまざまな情報を表示するオプションを確認できるはずです。頑張ってください!

于 2010-03-04T12:08:44.677 に答える
2

これは2年遅れていることは知っていますが、ライブラリ指向のオプションを探している場合は、NvidiaのNVMLAPIがこれらすべてを実行します。こちらでチェックしてください!ありがたいことに、ドキュメントは本当によくできています。私はc++アプリにGPUの温度を約1時間でいじってポーリングさせました。

編集これは、GPU温度を取得するためのコードです。このコードは、1枚のカードシステムで(そのままで)機能することに注意してください。

#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;
}
于 2012-08-21T23:05:42.347 に答える
0

カードがサポートする機能に関心がある場合は、DirectXプログラムを作成してカードの機能を照会できます。

于 2010-03-04T13:14:58.930 に答える