Come iniziare a scrivere un profiler GPU di basso livello?


8

Negli ultimi giorni ho studiato profilatori di GPU di società hardware (Qualcomm, PowerVR, Intel). Ho notato che questi strumenti sembrano fornire maggiori dettagli di basso livello rispetto ai profilatori GPU che ho usato in passato - acquisizione e apitrace di frame OpenGL ES di XCode - che elencava solo quali chiamate OpenGL venivano effettuate e quale stato attuale le risorse sono.

Come posso iniziare se voglio creare uno strumento di basso livello che visualizzi elementi come mancati errori nella cache del campionatore e il codice dello shader assembler?

gpu 

Risposte:


6

Per i dati di temporizzazione di base della GPU, è possibile utilizzare query di data / ora D3D o query del timer OpenGL equivalenti .

Qualsiasi dato hardware di basso livello come i mancati riscontri nella cache sarà estremamente specifico per il fornitore. Ogni fornitore di GPU ha la propria API o estensione personalizzata per consentire l'accesso a dati di prestazioni di basso livello sul proprio hardware. Le API variano nel modo in cui funzionano e non necessariamente espongono tutti gli stessi dettagli. I dati disponibili possono anche variare tra i diversi modelli di chip all'interno dello stesso fornitore, quindi è probabilmente necessario conoscere un po 'come funziona l'hardware per capirlo.

Ecco i collegamenti alle API pertinenti per la maggior parte dei principali fornitori di GPU.


Oh fantastico, immagino che avrei dovuto scavare un po 'più a fondo sui siti Web della società. Supponevo che, dal momento che apitrace non offriva questi dettagli, stava succedendo una sorta di inversione. Grazie!

oh ho pensato che volesse scrivere un altro perfkit. quale sarebbe la risposta che non è possibile se non si crea il proprio hardware.
v.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.