Uma ferramenta nova que promete! gpu-ratemeter

    Estava fuçando nos repositórios do MESA e achei um projeto bem interessante: gpu-ratemeter, é um projeto bem recente, tendo sido criado em 14/01/26. O projeto ainda esta em desenvolvimento e não esta completo, mas vamos conhecer melhor esta promissora ferramenta.
    Basicamente é uma ferramenta para micro benchmark por linha de comando para medir o desempenho de vários recursos da GPU em diferentes APIs gráficas, o projeto visa abranger 
DX11, DX12, OpenGL, Vulkan e APIs de camadas de tradução como DXVK, VKD3D, Zink, WSL2 e VirtIO e também ser multiplataforma, funcionando no Linux, Windows e Android. Atualmente (até a data deste post) apenas o OpenGL e Vulkan estão prontos e disponível para Linux.

    Um exemplo dos testes disponíveis no momento:

  • bufbw: o buffer preenche e copia em GB/s.
  • pix: Taxa de transferência de pixels em amostras/ciclo de clock; todos os testes são executados com MSAA 1x e MSAA 8x. 
  • pixbw: Taxa de transferência de gravação do buffer de cores em GB/s, mesmos testes que pix.
  • prim: taxa de transferência primitiva em primitivas/relógio.
  • sanity: Verifique se a API funciona desenhando um objeto e salvando o resultado em um arquivo PNG. 
 Exemplo de uso:
    ./gpu-ratemeter gl.bufbw

Vai gerar uma saída no estilo CSV: Baixar Arquivo
Este é um trecho da saída do comando, vejo a arquivo do link para ver tudo.

    Este exemplo que eu testei usando a API OpenGL com o teste "bufbw". É realizado o reste em diferentes tamanhos, 512B a 256MB, os resultados estão em GB/s.
    O bufbw mede o "buffer bandwidth", basicamente velocidade da VRAM, PCIe e CACHE, para entendermos o exemplo acima temos, temos que entender algumas coisas:

  • fill: operação de escrita
  • devmem: Acesso a VRAM
  • hostmem: Acesso a RAM sistema
  • hit: CACHE hit
  • miss: CACHE miss 

    Ok, agora observe os testes de "fill" no "devmen" com o tamanho máximo do teste de 256MB atingiu a velocidade media de 280GB/s, isso é interessante porque é praticamente a velocidade máxima desta GPU.

    A RX 7600 usada neste teste possui 8GB GDDR6 de VRAM a 128bit e se olharmos no Techpowerup, a largura de banda da RX 7600 é 288GB/s, ou seja estamos praticamente na velocidade máxima teoria da placa!

    Agora se olharmos o "hostmem", que seria a velocidade que a GPU acessa a memória do sistema, aqui seremos limitados pelo PCI-E. Podemos ver  que a velocidade máxima ficou em torno de 13GB/s, a RX 7600 é PCI-E 4.0 X8, a velocidade máxima teórica seria algo em torno de 15GB/s, então como podemos ver talvez tenha um gargalo aqui.

    Outra coisa importante é o CACHE, quando a operarão recebe um HIT, significa que a informação qua a GPU precisa já estava em CACHE, e quando recebe um MISS significa que ainda não estava em CACHE, isso também acontece com a CPU e também usamos a nomenclatura MISS e HIT.

    Quando o FILL recebe um HIT, a velocidade aumenta consideravelmente chegando a mais de 700GB/s, isso é justamente o cache L1-3 em ação.

    Podemos ver que o gpu-ratemeter é muito útil, não para um teste simplesmente de FPS, mas podemos testar vários aspectos mais técnicos da GPU, e este foi só um exemplo de um dos vários testes que ele possui, e como ainda esta em desenvolvimento pode melhorar muito. 

    Bem, é isso Flw! 

 

 

 

 

 

 

Comentários

Postagens mais visitadas deste blog

Definição PCismo

PcismoOS

Entendendo o Arch Linux