Blog
Alguns comandos da NVIDIA

Já apresentei em posts anteriores a possibilidade de integração e leitura das informações da GPU NVIDIA.

Através da aplicação nvidia-smi, é possível realizar a leitura das diversas funcionalidades da api da nvidia.

Um exemplo de uso, é descobrir quantas placas de vídeo existem em seu desktop.

O comando a baixo permite isso:

nvidia-smi    --query-gpu=gpu_name, vbios_version --format=csv,noheader

Conforme vemos na imagem abaixo:


A simples adição do parametro -i [nro], permite selecionar qual o device que quer ler a informação.

nvidia-smi    -i 0 --query-gpu=gpu_name, vbios_version --format=csv,noheader  

Conforme figura abaixo:

Mais informações podem ser vistas no link abaixo:

https://developer.download.nvidia.com/compute/DCGM/docs/nvidia-smi-367.38.pdf

Relógio
Informações da GPU

Agora o projeto relógio permite ler a temperatura da placa de vídeo.

Nesta nova etapa, estamos adicionando informações chave da placa de vídeo.

Leitura de Temperatura da GPU

O código associado a leitura do GPU esta na unit funcoes.pas

function GetGPUTemperature: string;   

Esta função faz a integração com as GPUs da NVIDIA, através de lib da própria fabricante.

Blog CUDA Delphi Relógio Sem categoria
Ler Temperatura Placa de Video NVIDIA

Falaremos neste artigo, como obter a temperatura da placa de Vídeo (GPU) NVIDIA.

Abordaremos o procedimento mais simples de integração, e leitura das informações da placa de vídeo, integrando com Lazarus.

A placa de vídeo, hoje é requisito obrigatório para qualquer computador realmente robusto.

Placas de vídeo com grande capacidade, por vezes precisam ser monitoradas para evitar super aquecimento .

Atualmente projetos de CASEMOD não seriam realmente case mode, se não lerem estas informações.

Pensando nisso a NVIDIA, lançou um conjunto de ferramentas que auxiliam o desenvolvedor na obtenção de forma fácil e assertiva, na leitura das informações da GPU.

O NVIDIA System Management Interface é um utilitário, baseado no NVML (NVIDIA MANAGEMENT Library) que gerencia e monitora dispositivos NVIDIA.

Este utilitário tambem administra por pesquisas por estado de dispositivo GPU , atribuindo privilegios , permitindo administradores modificares o estado da GPU.

NVIDIA-smi é embarcado com o driver para linux do NVIDIA GPU , e windows 64bits (WIN7/2008).

O NVIDIA-smi pode fornecer informações em formato XML ou em arquivo texto simples.

Para maiores informações consulte a documentação:

nvidia-smi documentation.

O fragmento acima é uma tradução livre do site:

https://developer.nvidia.com/nvidia-system-management-interface

Integração com LAZARUS

O Componente TProcess , permite a integração de comandos através da console.

Segue o fragmento de código para analise.

function GetGPUTemperature: string;
var
cmd : TProcess;
AStringList: TStringList;
begin
cmd := TProcess.Create(nil);
// Cria o objeto TStringList.
AStringList := TStringList.Create;
cmd.CommandLine:='nvidia-smi -i 0 --format=csv,noheader --query-gpu=temperature.gpu';

cmd.Options := cmd.Options + [poWaitOnExit, poUsePipes];
cmd.Execute;
AStringList.LoadFromStream(cmd.Output);
result := trim(AStringList.Text);
AStringList.Free;
cmd.Free;
end;

Download

Documentação da API

https://docs.nvidia.com/deploy/nvml-api/index.html

Documentação nvidia-smi

http://developer.download.nvidia.com/compute/DCGM/docs/nvidia-smi-367.38.pdf

Download do CUDA Toolkit 3.2

https://developer.nvidia.com/cuda-toolkit-32-downloads

Caminho no pc após instalação:

C:\Program Files\NVIDIA Corporation\NVSMI

maurinsoft.com.br