NVidia视频卡 - 获取统计数据

时间:2010-03-04 11:54:32

标签: nvidia

我需要为我的课程编写一些关于低级视频卡控制的应用程序。 例如 - 温度,工作SM,管理对它们的访问等.OS linux,tesla c1060。

您能否提供一些建议,在哪里搜索此类信息?

CUDA不提供这些功能。它必须是dev \ nvidia * probabaly的一些工作。或不?我从来没有写过这样的东西 - 欢迎任何建议。

感谢。

UPD: nvidia-settings很好,但不能提供我所需要的一切。有没有更多的方法可以在c \ cuda的ptx上做到这一点?

3 个答案:

答案 0 :(得分:2)

有两个选项可供选择,您可以使用guru3d.com的RivaTuner v2.24c和/或CPU-ID获取更多信息。但是,我注意到您正在使用Linux,因此您应该能够安装最新的NVidia驱动程序并运行nvidia-settings -h以查看查看温度和各种其他信息的选项。祝你好运!

答案 1 :(得分:2)

我知道这已经晚了2年,但是如果你正在寻找面向库的选项,Nvidia的NVML API可以做到这一切。看看here!谢天谢地,文档做得很好。我让我的c ++应用程序在大约一个小时的时间内调查了我的gpu的温度。

EDIT 这是一些获得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;
}

答案 2 :(得分:0)

如果您对支持哪些功能感兴趣,可以编写DirectX程序来查询卡的功能。