Pergunta

Preciso escrever poucos aplicativos sobre o controle de videocard de nível baixo para o meu curso. Por exemplo - temperatura, trabalhando SM's, gerenciando o acesso a eles, etc. OS Linux, Tesla C1060.

Você poderia me dar alguns conselhos onde pesquisar esse tipo de informação?

O CUDA não fornece esses recursos. Deve ser algum trabalho com probabalia dev nvidia*. ou não? Eu nunca escrevi algo assim - qualquer conselho seria bem -vindo.

Obrigado.

UPD: NVIDIA Settings é bom, mas não fornece tudo o que eu preciso. MB Há mais algumas maneiras de fazer isso no PTX de C cuda?

Foi útil?

Solução

Algumas opções surgem à mente, você pode usar o Rivatuner v2.24c do guru3d.com e/ou CPU-ID para obter mais informações. No entanto, acabei de notar que você está usando o Linux para poder instalar os drivers NVIDIA mais recentes e executar nvidia-settings -h Para ver as opções para visualizar a temperatura e várias outras informações. Boa sorte!

Outras dicas

Eu sei que isso está com 2 anos de atraso, mas se você está procurando uma opção de opção orientada para a biblioteca, a API da NVML da NVIDIA faz tudo isso. Confira aqui! Felizmente, a documentação é muito bem feita. Eu tinha meu aplicativo C ++ pesquisando a temperatura da minha GPU em cerca de uma hora mexendo com ele.

Editar aqui está algum código para obter a temperatura da GPU. Observe que esse código funciona (como está) para um sistema de um cartão.

#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;
}

Você pode escrever um programa DirectX para consultar os recursos do cartão, se estiver interessado em quais funções ele suporta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top