Профилировщик Perfetto теперь поддерживает аппаратные счетчики Mali GPU через Panfrost


Perfetto — это системный профилировщик с открытым исходным кодом, трассировщик приложений и анализатор трассировки для платформ Linux, Android и Chrome, а также приложений пользовательского пространства. Программа может наглядно представить использование ЦП и памяти, а также энергопотребление. Поддержка графического процессора ограничена, поскольку программа способна измерять частоту графического процессора только тогда, когда драйвер выводит эту информацию через ftrace.

Perfetto также может быть расширен благодаря Tracing C++ SDK, который «позволяет приложениям в пользовательском пространстве генерировать события трассировки и добавлять в трассировку Perfetto более специфичный для приложения контекст». Collabora использовал SDK трассировки, чтобы добавить поддержку профилирования производительности графического процессора Mali Midgard в проекте gfx-pps с использованием аппаратных счетчиков графического процессора Mali, предоставляемых через Panfrost — драйвер с открытым исходным кодом для Mali GPU.

После выполнения инструкций по установке вы сможете запускать следующие файлы для трассировки и профилирования:

  • служба трассировки.
  • служба проверки ОС traced_probes.
  • инструмент командной строки perfetto для записи трассировок.
  • producer-gpu обеспечивающий доступ к источнику данных Panfrost

Также существует файл gpu.cfgconfig, описывающий, что нужно отслеживать, и который находится в каталоге gfx-pps/scripts.

Чтобы быстро приступить к работе, выполните следующую команду

traced
traced_probes
producer-gpu
perfetto --txt -c gpu.cfg -o trace

Запустите любую рабочую нагрузку графического процессора, которую вы хотите профилировать. После завершения трассировки вы можете открыть файл трассировки с помощью ui.perfetto.dev в браузере Chrome (мы сначала попробовали в Firefox, и он не загружается).

На приведенном выше снимке экрана показаны некоторые параметры графического процессора, включая балансировку CPU/GPU, балансировку загрузки vertex- и fragment-процессоров и балансировку конвейерной технологии Tri-Pipe(арифметический конвейер/ конвейер ввода-вывода/конвейер текстур) с использованием трассировки WebGL Aquarium. При этом использовался процессор Rockchip RK3399, оснащенный графическим процессором Mali-860MP4 Midgard.

Проект gfx-pps находится в стадии активной разработки на FreeDesktop’s GitLab и лицензируется по лицензии MIT. Вы найдете источник данных Panfrost в файле gfx-pps / src / gpu / panfrost / gpu_ds.h, и планируется внедрение большего количества источников данных GPU.

Более подробную информацию о проекте gfx-pps можно найти в блоге Collabora.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments