Рубрика «анализ производительности»

Анализ производительности накопителя Intel Optane SSD 750ГБ - 1

Летом прошлого года мы опубликовали статью о дисковых накопителях Intel Optane SSD и предложили всем желающим принять участие в бесплатном тестировании. Новинка вызвала большой интерес: наши пользователи пробовали применять Optane для научных расчётов, для работы с in-memory базами данных, для проектов в области машинного обучения.
Читать полностью »

Вы уже наверняка знаете, что спустя несколько месяцев после конференций мы выкладываем видеозаписи всех докладов. А для самых лучших, как в случае с кейноутом Саши goldshtn Гольдштейна, мы готовим еще и расшифровки — чтобы приобщиться могли и те, кто не любит видеоформат.

Саша рассказывает о способах и инструментах анализа производительности приложений, в том числе разработанных им самим.

В основе статьи — выступление Саши на конференции DotNext 2017 Piter. Саша работает техническим директором израильской тренинговой и консалтинговой компании Sela и не понаслышке знает, как проводить анализ производительности. Как его лучше начинать, чем завершать, какие инструменты стоит использовать, а каких избегать, читайте под катом.

Читать полностью »

Благодаря некоторым новым возможностям, доступным в Intel VTune Amplifier 2016 Update 1, в настоящее время сравнительно просто организовать одновременный анализ энергопотребления и производительности Android-устройств без необходимости их постоянного соединения с компьютером по USB.

Одновременный анализ энергопотребления-производительности Android-устройств с помощью Intel VTune Amplifier и SoC Watch - 1


Стоит отметить, что, хотя можно подключить Android-устройство к компьютеру по схеме «ADB over WiFi», и, таким образом избежать необходимости использования опции анализа отключённого устройства, обычно проще подключить целевое устройство по USB. Если вы вместо этого хотите использовать WiFi, можете найти инструкции по настройке этой схемы в документации к Intel VTune Amplifier.
Читать полностью »

image

Этот пост снова посвящается цикловым оптимизациям. Почему вообще речь зашла о цикловых перестановочных оптимизациях? Дело в том, что это одна из самых эффективных частей оптимизирующего компилятора. В число цикловых перестановочных оптимизаций входит как автовекторизация так и автопараллелизация. У этих оптимизаций существует своя специфика, но в целом у всех цикловых оптимизаций общие проблемы и общие методы их решения.
Часто приходится слышать мнение, что компилятор во многих случаях «тупит». Мне хочется здесь побыть адвокатом компилятора, чтобы показать, что жизнь компилятора не так уж легка, возможно вызвать легкую долю сочувствия к его нелегкой доле и показать, какие существуют объективные трудности при обработке программы и почему во многих случаях компилятор совершенно обоснованно не может сделать ту или иную оптимизацию, которая кажется очевидной программисту. Ну и заодно я хочу продемонстрировать некоторые возможности помочь компилятору в его работе. Понятно, что иногда существуют и субъективные факторы, в лице разработчиков, которые по како-либо причине не реализовали ту или иную функциональность внутри компилятора.

Читать полностью »

image

В предыдущих посте Основные проблемы влияющие на производительность ... я написал о том, что анализ производительности — задача сложная и ее нельзя в большинстве случаев решить без анализа исходного кода, без изучения того, как реализован тот или иной алгоритм и без знания вычислительной архитектуры, на которой приложение будет выполняться. В этом посте я хочу показать пример оптимизации программы, базирующийся на идее разбиения цикла.

Читать полностью »

Основные проблемы влияющие на производительность вычислительного ядра и приложения и методы их решения компилятором

Продолжаю разговор об оптимизации приложений, начатый здесь в посте «Существует ли простая оценка качества оптимизации приложения?».

Про процессоры можно говорить много и подробно и, наверняка, среди читателей Хабра есть масса людей спопобных на такие разговоры. Но моя точка зрения на процессор сугубо прагматичная. Поскольку меня интересует производительность приложения, через призму производительности процессора, то мне достаточно понимания базовых принципов работы вычислительного ядра. А также методов, которые существуют, чтобы на эти базовые принципы воздействовать. Буду я ориентироваться на архитектуру Intel64. Это вызвано тем, что в нашей команде анализа производительности мы занимаемся анализом работы оптимизирующего компилятора Intel, в основном, именно для этой архитектуры. На рынке вычислительных систем для высокопроизводительных вычислений эта и совместимые архитектуры занимают львинную долю, поэтому большинство проблем производительности имеет довольно общую природу. Давайте я коротко перечислю те основные проблемы и возможности, которые определяют производительность ядра и вычислительной системы и предложу короткий список различных оптимизаций, призванных влиять на эти проблемы.

Читать полностью »

image

Тише едешь дальше будешь...? Оценка производительности.

Больше 7 лет я занимаюсь анализом производительности в составе группы Performance Analysis новосибирского отделения Интел. Мы работаем над улучшением производительности различных приложений, а точнее, ищем способы, с помощью которых ее смог бы улучшить наш компилятор. За это время накопился полезный опыт, который, на мой взгляд, был бы интересен посетителям уважаемого Хабра. Речь в данном случае будет идти не об алгоритмической оптимизации приложений, а о различных модификациях приложений без принципиального изменения их алгоритмов. Понятно, что алгоритмические оптимизации программы тоже имеют право на жизнь, но это совсем другая задача.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js