3

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

你能给我一些建议在哪里搜索这类信息吗?

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

谢谢。

UPD:nvidia-settings 很好,但不能提供我需要的所有东西。Mb 还有更多方法可以在 c\cuda 的 ptx 上实现吗?

4

3 回答 3

2

我知道这已经晚了 2 年,但是如果您正在寻找面向库的选项,Nvidia 的 NVML API 可以完成所有这些。看看这里!谢天谢地,文档做得很好。我让我的 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;
}
于 2012-08-21T23:05:42.347 回答
2

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

于 2010-03-04T12:08:44.677 回答
0

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

于 2010-03-04T13:14:58.930 回答