2009-04-06 3 views
1

Современные процессоры используют всевозможные трюки, чтобы преодолеть разрыв между большой скоростью их элементов обработки и опозданием внешней памяти. В критически важных приложениях способ структурирования вашего кода часто может существенно влиять на его эффективность. Например, исследователи, использующие анализатор SLO, смогли исправить проблемы локализации кеша и удвоить скорость выполнения нескольких тестовых программ SPEC2000. Я ищу рекомендации для инструмента с открытым исходным кодом, который использует поддержку мониторинга производительности процессора для обнаружения и анализа недостатков в архитектуре, таких как промахи в кеше, неправильные ошибки филиала, передние стойки, загрязнение кэша с помощью псевдонимов адресов, длинные задержки и пропуски TLB , Я знаю Intel VTune (коммерческий), AMD CodeAnalysist (бесплатный, но не открытый исходный код) и Cachegrind (полагается на симуляцию).Профилировщик с открытым исходным кодом для анализа низкоуровневой архитектурной неэффективности?

ответ

1

Для linux oprofile хорошо работает. Фактически, CodeAnalysist AMD использует oprofile в качестве своего бэкэнд.

Oprofile использует встроенный в процессор процессор производительности для анализа архитектурной неэффективности.

+0

Отлично! Оппозиция оппонента Olist - списки-события перечисляет действительно сети событий, которые нужно отслеживать. –