Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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]

Автоматизация Roofline Performance Model интегрирована с другими функциями Intel Advisor. Каждый кружок соответствует одному циклу или функции

Советник « Анализ крыши » помогает определить, связан ли данный цикл / функция с памятью или ЦП. Он также определяет недостаточно оптимизированные циклы, которые могут иметь большое влияние на производительность при оптимизации. [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; поддержка и обсуждение)

Ссылки [ править ]

  1. ^ «Примечания к выпуску Intel® Advisor и новые функции» .
  2. ^ «Примеры использования командной строки» . Intel . Проверено 5 января 2021 .
  3. ^ "Оптимизация аспектов векторизации трехмерного сердца в реальном времени ..." Intel . Проверено 7 января 2021 .
  4. ^ «Инструменты модернизации кода HPC» (PDF) .
  5. ^ "Новый инструмент анализа SIMD программ - Советник по векторизации" . habr.com (на русском языке) . Проверено 5 января 2021 .
  6. ^ Уильямс, Сэмюэл (апрель 2009 г.). «Линия крыши: проницательная модель визуальной производительности для многоядерных архитектур» (PDF) . Университет Беркли .
  7. Илич, Александар. «Модель крыши с учетом кеширования: модернизация чердака» (PDF) . Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa .
  8. ^ «Анализ кровли в Intel Advisor 2017: видео с практическими рекомендациями на YouTube» .
  9. ^ «Пошаговое руководство Intel Advisor Roofline» .
  10. ^ «Использование модели Roofline и Intel Advisor, представленное Сэмом Уильямсом, автором модели производительности Roofline» .
  11. ^ "Пример: SimYog увеличивает производительность инструмента моделирования в 2 раза с помощью ..." Intel . Проверено 7 января 2021 .
  12. ^ «Модель уровня памяти с Intel® Advisor» . Intel . Проверено 5 января 2021 .
  13. ^ "Перспектива анализа системного процессора / памяти" . Intel . Проверено 5 января 2021 .
  14. ^ "Перспектива взглядов на крышу GPU" . Intel . Проверено 5 января 2021 .
  15. ^ «Целочисленное моделирование линии крыши в Intel® Advisor» . Intel . Проверено 5 января 2021 .
  16. ^ "Как смоделировать пригодность с помощью Advisor XE 2015?" .
  17. ^ «Разгрузка ресурсов моделирования для пользователей Intel® Advisor» . Intel . Проверено 5 января 2021 .
  18. ^ «Определить области кода для разгрузки на GPU и визуализировать использование GPU (бета)» . Intel . Проверено 5 января 2021 .
  19. ^ "Перспектива моделирования разгрузки" . Intel . Проверено 5 января 2021 .
  20. ^ «Schlumberger * - Распараллеливание программного обеспечения для нефтегазовой отрасли с продуктами Intel Software» (PDF) .
  21. ^ " Пример использования консультанта XE " Ведущий дизайн " (PDF) .
  22. ^ http://software.intel.com/en-us/intel-advisor-xe/reviews
  23. ^ "Пример использования компьютерных формул: получение помощи от советника по векторизации" .
  24. ^ "Pexip ускоряет видеоконференцсвязь корпоративного уровня" (PDF) .
  25. ^ "Преподаватель 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