tarjetas de vídeo NVidia - conseguir estadística
-
24-09-2019 - |
Pregunta
Tengo que escribir algunas aplicaciones sobre la tarjeta de vídeo de bajo nivel controlando para mi curso. Por ejemplo -. Temperatura, de trabajo, la gestión del acceso de SM a ellos, etc. sistema operativo Linux, tesla c1060
Podría darme algunos consejos dónde buscar este tipo de información?
CUDA no ofrece estas características. Debe ser algún trabajo con dev \ * nvidia tiempo probablemente. ¿o no? Nunca he escrito algo como esto -. Ningún consejos serán bienvenidos
Gracias.
UPD: nvidia-settings es bueno, pero no proporciona todos lo que necesito. Mb hay más formas de cómo hacerlo en PTX c \ de CUDA?
Solución
Un par de opciones vienen a la mente, se podría utilizar RivaTuner v2.24c de guru3d.com y / o CPU-ID para una información poco más. sin embargo tengo, acabo de dar cuenta de que está utilizando Linux por lo que debe ser capaz de instalar los últimos drivers para NVidia y ejecutar nvidia-settings -h
para ver las opciones para ver la temperatura y otro tipo de información. Mejor de las suertes!
Otros consejos
Sé que esto es de 2 años de retraso, pero si usted está buscando una opción orientada biblioteca NVML API de Nvidia hace todo esto. Comprobar que funciona aquí ! Afortunadamente la documentación está muy bien hecho. Tenía mi aplicación C ++ de votación temperatura de mi GPU en aproximadamente una hora de tocar el violín con él.
EDITAR Aquí hay un código para obtener la temperatura de la GPU. Nota, este código de obras (tal cual) para un sistema de una tarjeta.
#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;
}
Puede escribir un programa de DirectX para consultar las capacidades de la tarjeta, si está interesado en que las funciones que soporta.