Советник Intel
Разработчик(и) | Продукты Intel для разработчиков |
---|---|
Стабильная версия | 2021.4
/ 1 октября 2021 г [ 1 ] |
Операционная система | Windows и Linux (только пользовательский интерфейс на macOS) |
Тип | Профилировщик |
Лицензия | Бесплатная и коммерческая поддержка |
Веб-сайт | программное обеспечение |
Intel Advisor (также известный как « Советник XE », « Советник по векторизации » или « Советник по многопоточности ») — это инструмент помощи при проектировании и анализе SIMD векторизации , многопоточности, использования памяти и оптимизации разгрузки графического процессора. Инструмент поддерживает языки C, C++, Data Parallel C++ (DPC++), Fortran и Python. Он доступен в операционных системах Windows и Linux в виде автономного инструмента с графическим интерфейсом, Microsoft Visual Studio или интерфейса командной строки. подключаемого модуля [ 2 ] Он поддерживает OpenMP (и использование с MPI ). Пользовательский интерфейс Intel Advisor также доступен в macOS .
Intel Advisor доступен бесплатно как отдельный инструмент или как часть базового инструментария Intel oneAPI . Для базового набора инструментов oneAPI доступна дополнительная платная коммерческая поддержка.
Функции
[ редактировать ]Оптимизация векторизации
[ редактировать ]Векторизация — это операция инструкций Single Instruction Multiple Data (SIMD) (например, Intel Advanced Vector Extensions и Intel Advanced Vector Extensions 512) над несколькими объектами параллельно в одном ядре ЦП. Это может значительно повысить производительность за счет уменьшения накладных расходов на циклы и более эффективного использования нескольких математических блоков в каждом ядре.
Intel Advisor помогает найти циклы, которые выиграют от лучшей векторизации, и определить, где безопасно принудительно выполнить векторизацию компилятора. [ 3 ] Он поддерживает анализ скалярных кодов, кодов с поддержкой SSE , AVX , AVX2 и AVX-512, сгенерированных Intel , GNU и Microsoft автоматической векторизацией компиляторов . Он также поддерживает анализ «явно» векторизованных кодов, использующих OpenMP 4.x и новее, а также кодов, написанных с использованием векторных встроенных функций C или языка ассемблера . [ 4 ] [ 5 ]
Автоматизированный анализ линии крыши
[ редактировать ]Intel Advisor автоматизирует модель производительности Roofline, впервые предложенную в Беркли [ 6 ] и продлен в Лиссабонском университете. [ 7 ]
Советник « Анализ линии крыши » помогает определить, ограничен ли данный цикл/функция памятью или процессором. Он также определяет недостаточно оптимизированные циклы, оптимизация которых может сильно повлиять на производительность. [ 8 ] [ 9 ] [ 10 ] [ 11 ]
Intel Advisor также обеспечивает автоматизированную реализацию крыши на уровне памяти, которая ближе к классической модели Roofline. Classical Roofline особенно полезен для высокопроизводительных вычислительных приложений, использующих DRAM. Помощник по уровню памяти анализирует данные кэша и оценивает транзакции данных между различными уровнями памяти, чтобы предоставить рекомендации по улучшению. [ 12 ]
Анализ крыши Intel Advisor поддерживает код, работающий на процессоре или графическом процессоре. [ 13 ] [ 14 ] Он также поддерживает приложения на основе целых чисел, которые широко используются в машинном обучении, областях больших данных, приложениях баз данных, финансовых приложениях, таких как криптовалюты. [ 15 ]
Потоковое прототипирование
[ редактировать ]Архитекторы программного обеспечения добавляют аннотации кода для описания потоков, которые понимаются Advisor, но игнорируются компилятором. Затем Advisor прогнозирует масштабируемость потоков и проверяет наличие ошибок синхронизации. » Advisor Threading Функция « Пригодность помогает прогнозировать и сравнивать масштабируемость параллельного SMP и потери производительности для различных возможных схем многопоточности. Типичные отчеты о пригодности показаны на снимке экрана пригодности ЦП справа. Советник по пригодности предоставляет возможности моделирования размера набора данных (пространства итераций) и разбивки штрафов за производительность (выявляет негативное влияние, вызванное дисбалансом нагрузки , накладными расходами при параллельном выполнении и конфликтами блокировок). [ 16 ]
Моделирование разгрузки
[ редактировать ]В Advisor добавлена функция моделирования производительности разгрузки графического процессора в версии 2021 года. Он собирает характеристики производительности приложения на базовой платформе и строит аналитическую модель производительности для целевой (смоделированной) платформы.
Это обеспечивает оценку ускорения производительности целевых графических процессоров, а также оценку накладных расходов на разгрузку, передачу данных и планирование выполнения областей, а также выявляет узкие места в производительности. [ 17 ] [ 18 ] [ 19 ] Эта информация может служить для выбора стратегии разгрузки: выбора областей для разгрузки и прогнозирования потенциальной реструктуризации кода, необходимой для подготовки его к работе с графическим процессором.
Использование клиентом
[ редактировать ]Intel Advisor используется компанией Schlumberger , [ 20 ] Национальная лаборатория Сандия и другие. [ 21 ] для проектирования и исследования параллельных алгоритмов, а также возможностей советника по векторизации, которые, как известно, используются LRZ и ICHEC , [ 22 ] Лаборатория Дарсбери , [ 23 ] Пексип. [ 24 ]
Пошаговый рабочий процесс используется академическими кругами в образовательных целях. [ 25 ]
См. также
[ редактировать ]- Инспектор разведки
- Intel VTune Profiler
- Базовый набор инструментов Intel oneAPI
- oneAPI (ускорение вычислений)
- Intel Developer Zone (Intel DZ; поддержка и обсуждение)
Ссылки
[ редактировать ]- ^ «Примечания к выпуску Intel® Advisor и новые функции» .
- ^ «Случаи использования командной строки» . Интел . Проверено 05 января 2021 г.
- ^ «Оптимизация аспектов векторизации 3D-изображений сердца в реальном времени...» Intel . Проверено 7 января 2021 г.
- ^ «Инструменты модернизации кода HPC» (PDF) .
- ^ "Новый инструмент анализа SIMD программ — Vectorization Advisor" . habr.com (in Russian) . Retrieved 2021-01-05 .
- ^ Уильямс, Сэмюэл (апрель 2009 г.). «Линия крыши: содержательная модель визуальной производительности для многоядерных архитектур» (PDF) . Университет Беркли .
- ^ Илич, Александр. «Модель крыши с поддержкой кэша: модернизация чердака» (PDF) . Институт системных и компьютерных исследований и разработок в Лиссабоне .
- ^ «Анализ линии крыши в Intel Advisor 2017: обучающее видео на YouTube» . Ютуб .
- ^ «Пошаговое руководство Intel Advisor Roofline» .
- ^ «Использование модели Roofline и Intel Advisor, представленное Сэмом Уильямсом, автором модели производительности Roofline» .
- ^ «Пример: SimYog повышает производительность инструмента моделирования в 2 раза с помощью…» Intel . Проверено 7 января 2021 г.
- ^ «Модель крыши на уровне памяти с Intel® Advisor» . Интел . Проверено 05 января 2021 г.
- ^ «Перспектива понимания крыши процессора и памяти» . Интел . Проверено 05 января 2021 г.
- ^ «Перспектива понимания крыши графического процессора» . Интел . Проверено 05 января 2021 г.
- ^ «Целочисленное моделирование линии крыши в Intel® Advisor» . Интел . Проверено 05 января 2021 г.
- ^ «Как смоделировать пригодность с помощью Advisor XE 2015?» .
- ^ «Разгрузка ресурсов моделирования для пользователей Intel® Advisor» . Интел . Проверено 05 января 2021 г.
- ^ «Определение областей кода для разгрузки на графический процессор и визуализация использования графического процессора (бета-версия)» . Интел . Проверено 05 января 2021 г.
- ^ «Перспектива моделирования разгрузки» . Интел . Проверено 05 января 2021 г.
- ^ «Schlumberger* — параллелизация программного обеспечения для нефтегазовой отрасли с программными продуктами Intel» (PDF) .
- ^ " Кейс-стади советника XE компании "Лидинг Дизайн"" (PDF) .
- ^ «Проектирование кода для параллелизма и разгрузки с помощью Intel® Advisor» .
- ^ «Пример использования компьютерной разработки: помощь консультанта по векторизации» .
- ^ «Pexip ускоряет видеоконференции корпоративного уровня» (PDF) .
- ^ «Преподаватель по суперкомпьютерным технологиям'2012 в Университете Слиппери-Рок» .
Внешние ссылки
[ редактировать ]- Официальный сайт
- «Получите руку помощи от консультанта по векторизации» — тематическое исследование Хартри со ссылкой на Unilever и другие приложения CAF.
- Семинар по векторизации и настройке "aixVectorize" в RWTH :
- Schlumberger* — параллелизация программного обеспечения для нефтегазовой отрасли с продуктами Intel Software
- Анонимный пример компании-ведущего дизайнера с консультантом XE
- Руководство пользователя суперкомпьютерного центра Киотского университета по использованию Advisor XE в Linux
- Как использовать Intel® Advisor XE 2015 для моделирования пригодности сопроцессора Intel® Xeon Phi™
- Страница продукта Intel Inspector