schede video NVidia - ottenendo statistica
-
24-09-2019 - |
Domanda
Ho bisogno di scrivere alcune applicazioni su scheda video lowlevel controllando per la mia attività didattica. Per esempio -. Temperatura, lavoro, accesso gestione di SM ad essi, ecc sistema operativo Linux, Tesla C1060
Potrebbe darmi alcuni consigli dove cercare questo tipo di informazioni?
CUDA non fornisce queste funzionalità. Deve essere un po 'di lavoro con dev \ nvidia * probabaly. o no? Non ho mai scritto una cosa del genere -. Eventuali consigli sarebbero benvenuti
Grazie.
UPD: nvidia-settings è buona, ma non fornisce tutto quello che mi serve. Mb ci sono alcuni altri modi come farlo su PTX c \ di CUDA?
Soluzione
Un paio di opzioni vengono in mente, si potrebbe usare RivaTuner v2.24c da guru3d.com e / o CPU-ID per un po 'di più informazioni. Ho tuttavia, appena notato che si sta utilizzando Linux così si dovrebbe essere in grado di installare gli ultimi driver nVidia ed eseguire nvidia-settings -h
per vedere le opzioni per visualizzare e varie altre informazioni. Buona fortuna!
Altri suggerimenti
So che questo è di 2 anni di ritardo, ma se siete alla ricerca di una libreria orientata discrezione di Nvidia NVML API fa tutto questo. Check it out qui ! Per fortuna la documentazione è veramente ben fatto. Ho avuto il mio c ++ applicazione polling temperatura di mia gpu in circa un'ora giocherellare con esso.
EDIT Ecco il codice per ottenere la temperatura della GPU. Nota, questo funziona codice (come è) per un sistema di una carta.
#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;
}
È possibile scrivere un programma di DirectX per interrogare le funzionalità della carta, se siete interessati in cui le funzioni supportate.