Видеокарты NVidia - получение статистики - PullRequest
3 голосов
/ 04 марта 2010

Мне нужно написать несколько приложений о контроле видеокарт низкого уровня для моей курсовой работы. Например - температура, рабочие СМ, управление доступом к ним и т. Д. ОС Linux, Tesla C1060.

Не могли бы вы дать мне несколько советов, где искать такую ​​информацию?

CUDA не предоставляет эти функции. Должна быть какая-то работа с dev \ nvidia * probabaly. или нет? Я никогда не писал что-то подобное - любые советы приветствуются.

Спасибо.

UPD: nvidia-settings - это хорошо, но не предоставляет всего, что мне нужно. Мб, есть еще несколько способов, как это сделать на ptx c \ cuda?

Ответы [ 3 ]

2 голосов
/ 22 августа 2012

Я знаю, что это на 2 года позже, но если вы ищете библиотечно-ориентированный вариант, Nvidia NVML API делает все это. Проверьте это здесь ! К счастью, документация действительно хорошо сделана. Приложение c ++ опрашивает температуру моего графического процессора примерно через час.

EDIT Вот некоторый код для получения температуры графического процессора. Обратите внимание, что этот код работает (как есть) для системы с одной карточкой.

#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 голосов
/ 04 марта 2010

На ум приходит несколько вариантов, вы можете использовать RivaTuner v2.24c с guru3d.com и / или CPU-ID для получения дополнительной информации. Однако я только что заметил, что вы используете Linux, поэтому вы должны иметь возможность установить последние драйверы NVidia и запустить nvidia-settings -h, чтобы увидеть параметры для просмотра температуры и другую другую информацию. Желаем удачи!

0 голосов
/ 04 марта 2010

Вы можете написать программу DirectX для запроса возможностей карты, если вас интересуют, какие функции она поддерживает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...