Intel ΠΎΡ‚ΠΊΡ€Ρ‹Π» iaprof, инструмСнтарий для профилирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ GPU

Π‘Ρ€Π΅Π½Π΄Π°Π½ Π“Ρ€Π΅Π³ (Brendan Gregg), ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² систСмы динамичСской ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ DTrace, Π½Ρ‹Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² Intel ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ срСдства для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° Π±Π°Π·Π΅ eBPF Π² ядрС Linux, объявил ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ исходного ΠΊΠΎΠ΄Π° инструмСнтария iaprof (AI Flame Graphs). Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ GPU Intel ΠΈ Π΅Ρ‘ наглядной Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Код написан Π½Π° языкС Π‘ΠΈ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Из Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ графичСскиС ΠΊΠ°Ρ€Ρ‚Ρ‹ Intel Arc Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Battlemage (сСрия Β«BΒ»), GPU для Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² сСрии Β«MaxΒ» ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ графичСскиС ΠΊΠ°Ρ€Ρ‚Ρ‹ Intel Xe2, срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ Π½Π° Π±Π°Π·Π΅ iGPU Lunar Lake. Π’ систСмС трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ядра Linux со свСТими Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ для GPU Intel (для Intel Battlemage трСбуСтся ядро 6.15 ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Xe, Π° для Intel Max Series достаточно ядра 5.15 ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ i915). Π―Π΄Ρ€ΠΎ Linux Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ собрано со спСцифичными для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Intel интСрфСйсами EU Stall ΠΈ EU Debug.

Π’ собираСмых профилях ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² (Execution Unit), состояниС CPU ΠΈ информация ΠΎ ядрах GPU. Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌΡ‹Π΅ свСдСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ GPU с ΠΊΠΎΠ΄ΠΎΠΌ, выполняСмым Π½Π° CPU. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ инструмСнтарий ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ ΠΈ AI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… GPU, сопоставляя Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° GPU с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π° CPU ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ядра ОБ, runtime-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ AI-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ².

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ профилирования ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сохранСны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ SVG для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†Π²Π΅Ρ‚Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Β«FlameGraphΒ» ΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ Β«FlameScopeΒ» с Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… мСст. Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄ΠΎ ΠΊΠ°Π΄Ρ€ΠΎΠ² стСка ΠΈ выполняСмых инструкций GPU, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ подробности ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска.

 Intel ΠΎΡ‚ΠΊΡ€Ρ‹Π» iaprof, инструмСнтарий для профилирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ GPU


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ