Разработчики) | Продукты Intel для разработчиков |
---|---|
Стабильный выпуск | 2021.1.1 / 8 декабря 2020 г . [1] |
Операционная система | Windows и Linux (только пользовательский интерфейс в macOS) |
Тип | Профайлер |
Лицензия | Бесплатная и коммерческая поддержка |
Интернет сайт | https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html |
Intel Advisor (также известный как « 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 Base Toolkit. Дополнительная платная коммерческая поддержка доступна для oneAPI Base Toolkit.
Особенности [ править ]
Оптимизация векторизации [ править ]
Векторизация - это операция инструкций SIMD (Single Instruction Multiple Data) (например, 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. Уровень памяти Advisor анализирует данные кэша и оценивает транзакции данных между различными уровнями памяти, чтобы предоставить рекомендации по улучшению. [12]
Intel Advisor поддерживает код, работающий на CPU или GPU. [13] [14] Он также поддерживает приложения на основе целых чисел, которые широко используются в машинном обучении, областях больших данных, приложениях баз данных, финансовых приложениях, таких как крипто-монеты. [15]
Прототипирование потоков [ править ]
Разработчики программного обеспечения добавляют аннотации кода для описания потоковой передачи, которые понимаются Advisor, но игнорируются компилятором. Затем Advisor прогнозирует масштабируемость потоковой передачи и проверяет наличие ошибок синхронизации. Функция Advisor Threading « Пригодность » помогает прогнозировать и сравнивать масштабируемость параллельного SMP и потери производительности для различных возможных схем потоковой передачи. Типичные отчеты о пригодности показаны на снимке экрана пригодности ЦП с правой стороны. Advisor Suitability предоставляет возможности моделирования размера набора данных (пространство итераций) и снижение производительности (с учетом негативного воздействия, вызванного дисбалансом нагрузки , накладными расходами времени параллельной работы и конфликтом блокировок). [16]
Моделирование разгрузки [ править ]
Advisor добавляет функцию моделирования производительности GPU при разгрузке в выпуске 2021 года. Он собирает характеристики производительности приложений на базовой платформе и строит аналитическую модель производительности для целевой (смоделированной) платформы.
Это обеспечивает оценку ускорения производительности на целевых графических процессорах и оценки накладных расходов для разгрузки, передачи данных и выполнения области планирования, а также выявляет узкие места в производительности. [17] [18] [19] Эта информация может служить для выбора стратегии разгрузки: выбора регионов для разгрузки и прогнозирования потенциальной реструктуризации кода, необходимой для подготовки его к работе с графическим процессором.
Использование клиентами [ править ]
Intel Advisor используется Schlumberger , [20] Sandia национальная лаборатория и другие [21] для проектирования и параллельного исследования алгоритмов и векторизации возможностей Advisor , как известно, используются ЛРЗ и ICHEC , [22] Daresbury Lab , [23] Pexip. [24]
Пошаговый рабочий процесс используется академическим сообществом в образовательных целях. [25]
См. Также [ править ]
- Инспектор Intel
- Intel VTune Profiler
- Набор инструментов Intel oneAPI Base
- Intel Developer Zone (Intel DZ; поддержка и обсуждение)
Ссылки [ править ]
- ^ «Примечания к выпуску Intel® Advisor и новые функции» .
- ^ «Примеры использования командной строки» . Intel . Проверено 5 января 2021 .
- ^ "Оптимизация аспектов векторизации трехмерного сердца в реальном времени ..." Intel . Проверено 7 января 2021 .
- ^ «Инструменты модернизации кода HPC» (PDF) .
- ^ "Новый инструмент анализа SIMD программ - Советник по векторизации" . habr.com (на русском языке) . Проверено 5 января 2021 .
- ^ Уильямс, Сэмюэл (апрель 2009 г.). «Линия крыши: проницательная модель визуальной производительности для многоядерных архитектур» (PDF) . Университет Беркли .
- ↑ Илич, Александар. «Модель крыши с учетом кеширования: модернизация чердака» (PDF) . Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa .
- ^ «Анализ кровли в Intel Advisor 2017: видео с практическими рекомендациями на YouTube» .
- ^ «Пошаговое руководство Intel Advisor Roofline» .
- ^ «Использование модели Roofline и Intel Advisor, представленное Сэмом Уильямсом, автором модели производительности Roofline» .
- ^ "Пример: SimYog увеличивает производительность инструмента моделирования в 2 раза с помощью ..." Intel . Проверено 7 января 2021 .
- ^ «Модель уровня памяти с Intel® Advisor» . Intel . Проверено 5 января 2021 .
- ^ "Перспектива анализа системного процессора / памяти" . Intel . Проверено 5 января 2021 .
- ^ "Перспектива взглядов на крышу GPU" . Intel . Проверено 5 января 2021 .
- ^ «Целочисленное моделирование линии крыши в Intel® Advisor» . Intel . Проверено 5 января 2021 .
- ^ "Как смоделировать пригодность с помощью Advisor XE 2015?" .
- ^ «Разгрузка ресурсов моделирования для пользователей Intel® Advisor» . Intel . Проверено 5 января 2021 .
- ^ «Определить области кода для разгрузки на GPU и визуализировать использование GPU (бета)» . Intel . Проверено 5 января 2021 .
- ^ "Перспектива моделирования разгрузки" . Intel . Проверено 5 января 2021 .
- ^ «Schlumberger * - Распараллеливание программного обеспечения для нефтегазовой отрасли с продуктами Intel Software» (PDF) .
- ^ " Пример использования консультанта XE " Ведущий дизайн " (PDF) .
- ^ http://software.intel.com/en-us/intel-advisor-xe/reviews
- ^ "Пример использования компьютерных формул: получение помощи от советника по векторизации" .
- ^ "Pexip ускоряет видеоконференцсвязь корпоративного уровня" (PDF) .
- ^ "Преподаватель Supercomputing'2012 HPC в Университете Слиппери Рок" .
Внешние ссылки [ править ]
- Официальный веб-сайт
- «Получите помощь от советника по векторизации» - тематическое исследование Hartree со ссылкой на Unilever и другие приложения CAF
- Мастер-класс по векторизации и настройке "aixVectorize" в RWTH :
- aixVectorize "Модернизация кодов HPC с помощью советника Intel (векторизация)" фольги учебника
- aixVectorize aixVectorize labs и samplecode
- Schlumberger * - Параллельное выполнение программного обеспечения для нефтегазовой отрасли с продуктами Intel Software
- Анонимный пример компании-лидера дизайна с помощью Advisor XE
- Руководство пользователя суперкомпьютерного центра Киотского университета по использованию Advisor XE в Linux
- Как использовать Intel® Advisor XE 2015 для моделирования пригодности на сопроцессоре Intel® Xeon Phi ™
- Страница продукта Intel Inspector