Перейти к содержимому

libgOMPT: внедрение OMPT в libgomp – Ян Краус, Томас Швинге

GNU Tools Cauldron

0:00 / 0:00

libgOMPT: внедрение OMPT в libgomp – Ян Краус, Томас Швинге

58 просмотров · 4 дн. назад
GNU Tools Cauldron
577 подписчиков
58 просмотров · 4 дн. назад
Интерфейс инструментов OpenMP (OMPT) предоставляет стандартизированный механизм для анализа производительности и инструментов, позволяющий разработчикам получать подробную информацию о выполнении программ OpenMP. Хотя среда выполнения LLVM OpenMP предоставляет зрелую реализацию OMPT, libgomp в настоящее время не поддерживает её, что ограничивает доступность инструментов анализа производительности для кода, скомпилированного с помощью GCC. В этом докладе представлена ​​наша работа по добавлению поддержки OMPT в libgomp. Мы описываем реализацию основной инфраструктуры OMPT, включая общий интерфейс обратного вызова, общие точки входа API OMPT и поддержку обратных вызовов устройств. Реализованная функциональность существенно улучшает совместимость с существующими инструментами на основе OMPT и приближает libgomp к полной реализации спецификации. Помимо самой реализации, мы обсудим влияние включения OMPT на производительность на основе набора бенчмарков EPCC. Кроме того, мы поговорим об архитектурных изменениях, предложенных для основной ветки libgomp. В частности, мы обоснуем частичное преобразование среды выполнения в C++ для использования шаблонизации кода с включенным и выключенным OMPT, а также введем дополнительные внутренние точки входа в API среды выполнения, необходимые для предоставления доступа к событиям, которые в настоящее время недоступны через существующие интерфейсы libgomp.