Brendan Gregg, uno dei sviluppatori del sistema di debug dinamico DTrace, attualmente in Intel e dedicato allo sviluppo di strumenti per l'analisi delle prestazioni basati su eBPF nel kernel Linux, ha annunciato l'apertura del codice sorgente dello strumento iaprof (AI Flame Graphs). Questo strumento è progettato per analizzare le informazioni sulle prestazioni delle GPU Intel e la loro visualizzazione chiara. Il codice è scritto in linguaggio C ed è aperto sotto licenza Apache 2.0.
Le piattaforme hardware supportano le schede grafiche Intel Arc basate sull'architettura micro architetturale Battlemage (serie 'B'), le GPU per data center della serie 'Max' e varie schede grafiche Intel Xe2, tra cui quelle basate su iGPU Lunar Lake. Il sistema richiede un kernel Linux con driver aggiornati per le GPU Intel (per Intel Battlemage è necessario il kernel 6.15 e il driver Xe, mentre per Intel Max Series è sufficiente il kernel 5.15 e il driver i915). Il kernel Linux deve essere compilato con interfacce specifiche per i driver Intel come EU Stall e EU Debug.
Nei profili raccolti vengono riflesse le latenze nel funzionamento delle unità di esecuzione (Execution Unit), lo stato della CPU e informazioni sui nuclei della GPU. I dati raccolti consentono di collegare le metriche di prestazione delle GPU con il codice in esecuzione sulla CPU. Nella pratica, lo strumento è utile per l'analisi delle prestazioni di videogiochi e applicazioni AI che utilizzano attivamente le GPU, confrontando il carico sulla GPU con l'esecuzione sulla CPU dei componenti del kernel OS, delle librerie runtime e dei framework AI.
I risultati del profiling possono essere salvati in formato SVG per un'analisi interattiva nel browser (esempio), utilizzando diagrammi colorati 'FlameGraph' e mappe 'FlameScope' con evidenziazioni colorate delle aree problematiche. I grafici sono interattivi e consentono di ingrandire i dettagli fino ai frame dello stack e delle istruzioni eseguite dalla GPU, visualizzando i dettagli e eseguendo operazioni di ricerca.

Fonte: opennet.ru
