我需要为我的课程编写一些关于低级视频卡控制的应用程序。 例如 - 温度,工作SM,管理对它们的访问等.OS linux,tesla c1060。
您能否提供一些建议,在哪里搜索此类信息?
CUDA不提供这些功能。它必须是dev \ nvidia * probabaly的一些工作。或不?我从来没有写过这样的东西 - 欢迎任何建议。
感谢。
UPD: nvidia-settings很好,但不能提供我所需要的一切。有没有更多的方法可以在c \ cuda的ptx上做到这一点?
答案 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程序来查询卡的功能。