NVIDIA VideoCards - Получение статистики
-
24-09-2019 - |
Вопрос
Мне нужно написать несколько приложений о Sweedvel VideoCard Contaction для моей курсовой работы. Например - температура, работающая см, управление доступом к ним и т. Д. ОС Linux, Tesla C1060.
Не могли бы вы дать мне несколько советов, где искать эту информацию?
CUDA не предоставляет этих функций. Это должна быть некоторая работа с dev nvidia * пробабала. или не? Я никогда не написал что-то вроде этого - какие-либо советы будут приветствовать.
Спасибо.
UPD: NVIDIA-Настройки хороши, но не предоставляют все, что мне нужно. MB Есть еще несколько способов сделать это на C Cuda's Ptx?
Решение
Пару вариантов пружины, вы можете использовать Rivatuner V2.24C из Guru3d.com и / или CPU-ID для получения дополнительной информации. Однако я только заметил, что вы используете Linux, чтобы вы могли бы установить последние драйверы NVIDIA и запустить nvidia-settings -h
Чтобы увидеть варианты для просмотра температуры и различной другой информации. Удачи!
Другие советы
Я знаю, что это за последние 2 года, но если вы ищете ориентированную на библиотеку опцию NVIDIA NVML API NVIDIA, делает все это. Проверьте это здесьДействительно К счастью, документация действительно хорошо сделана. У меня было мое приложение C ++, опросаемая температуру моей графической графики примерно через час, возьми его.
Редактировать вот какой-то код для получения температуры 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;
}
Вы можете написать программу DirectX для запроса возможностей карты, если вы заинтересованы в том, какие функции он поддерживает.