Intel® Parallel Studio XE 2016 Beta – что нового?

в 9:44, , рубрики: intel parallel studio xe, Блог компании Intel, высокая производительность, параллельное программирование, Программирование, метки:

Большое обновление пакета Intel® Parallel Studio XE вышло на этой неделе. Версия 2016 включает три совершенно новых продукта:

  1. Intel® Data Analytics Acceleration Library (Intel® DAAL) – C++ и Java решение для аналитики данных (статистика, машинное обучение и другое).
  2. Новый Vectorization Advisor в составе Intel® Advisor XE 2016 Beta для оптимизации кода под SIMD инструкции, т.е. векторизации.
  3. MPI Performance Snapshot для быстрой общей оценки производительности MPI программ.

Бета-версия доступна публично и бесплатно, программа длится до 23 июня, но лицензии будут работать вплоть до 25 сентября 2015 г. Для получения Бета-версии нужно зарегистрироваться здесь.
Эта статья посвящена обзору нового функционала, более детально отдельные продукты постараемся осветить в последующих блогах – пишите в комментариях, к чему есть интерес.

Intel® Advisor XE 2016 Beta

Intel® Advisor XE традиционно был инструментом прототипирования параллелизма на потоках. В версии 2016 Beta он фактически разделяется на два больших продукта:

  • Threading assistant – всё, что было в Intel Advisor раньше, с несколькими улучшениями.
  • Vectorization Advisor – совершенно новый инструмент анализа SIMD программ.

Основные возможности Vectorization Advisor:

  • Вся информация о векторизации циклов собрана в одном месте: время ЦПУ, диагностики от компилятора, анализ использованных инструкций и типов данных и т.д. Это позволяет сфокусироваться на важном – оптимизировать самые горячие циклы.
  • Подсчёт количества итераций (trip counts) и вызовов (call counts) циклов.
  • Поиск итерационных зависимостей
  • Анализ шаблона доступа к памяти
  • Рекомендации по оптимизации, основанные на собранных данных.

Intel® Parallel Studio XE 2016 Beta – что нового? - 1

Мы ещё напишем подробнее о Vectorization Advisor в следующих блогах.

Intel® Data Analytics Acceleration Library (Intel® DAAL) 2016 Beta

Оптимизированная библиотека для работы с «большими данными» на разных стадиях: получение данных от источника, предварительная обработка, трансформация, интеллектуальный анализ данных, моделирование, валидация и принятие решений.

  • Интеллектуальный анализ данных (data mining) – вычисление подобия данных, факторизация матриц (SVD, QR, Cholesky), статистические моменты, вариационные и ковариационные матрицы, нахождение одномерных и многомерных выбросов и ассоциативные правила.
  • Методы машинного обучения с учителем и без: линейная регрессия, наивный классификатор Байеса, алгоритмы бустинга (AdaBoost, LogitBoost, BrownBoost), метод опорных векторов, кластеризация методом k-средних, функция правдоподобия и т.д.
  • Поддержка локальных и распределённых источников данных, включая СSV в файлах и в памяти, MySQL, HDFS, и Resilient Distributed Dataset (RDD) объекты из Apache Spark*.
  • Сжатие и распаковка данных – утилиты Intel DAAL предоставляют эффективные реализации ZLIB, LZO, RLE, и BZIP2.
  • Сериализация и десериализация данных для эффективных коммуникаций.

Компилятор

Официальное название — Intel® Parallel Studio XE 2016 Beta, Composer Edition. Продукт объединяет в себе компилятор и библиотеки. Компилятор Intel расширяет набор поддерживаемых стандартов:

OpenMP* 4.0:

  • simdlen and safelen для циклов,
  • array reductions (Fortran),
  • User-defined reductions (C/C++),
  • опция collapse(N) для omp simd.

OpenMP* 4.1 TR 3:

  • Non-structured data allocation with omp target [enter | exit ] data
  • Асинхронный оффлоад с nowait опцией для omp task
  • Оффлоад с зависимостями с опцией depend для omp task
  • Модификаторы always и delete для map

С/С++ стандарты:

  • C11: поддержка Unicode strings, C11 anonymous unions, ключевые слова _Alignas, _Alighof, _Static_assert, _Thread_local, _Noreturn, и _Generic.
  • C++14: generic lambdas, generalized lambda captures, digit separators, [[deprecated]] attribute, дедукция типа возвращаемого значения функции, и инициализация членов.

Fortran компилятор стал поддерживать подмодули (submodules), улучшена рантайм проверка неинициализированных переменных (опция [Q]init), добавлена поддержка IMPURE ELEMENTAL (F2008) и улучшена C Interoperability (F2015).

Intel® VTune™ Amplifier XE 2016 Beta

В новой версии VTune™ Amplifier XE расширен функционал профилировки OpenMP и MPI приложений. Для OpenMP инструмент выдаёт статистику по параллельным регионам и подсвечивает те из них, где есть наибольший потенциал для оптимизации. VTune Amplifier распознаёт основные причины неэффективности OpenMP – дисбаланс нагрузки, накладные расходы, синхронизацию и др. Подробно об OpenMP анализе уже писалось.
Intel® Parallel Studio XE 2016 Beta – что нового? - 2
VTune Amplifier сильно расширил возможности профилировки MPI-приложений, а самое интересное – гибридных, MPI+OpenMP. Т.е. вы можете одновременно анализировать дисбалансы OpenMP и MPI коммуникацию.
Intel® Parallel Studio XE 2016 Beta – что нового? - 3
В таблице Bottom-up можно группироваться по MPI процессу и OpenMP регионам внутри него, а также по отдельным барьерам (например, у циклов) внутри региона:
Intel® Parallel Studio XE 2016 Beta – что нового? - 4
Анализ производительности OpenCL программ, выполняющихся на Intel® HD Graphics, становится удобнее с новой «диаграммой архитектуры», где можно наглядно видеть аппаратные блоки GPU и их загрузку – занятость вычислительных ядер и трафик данных:
Intel® Parallel Studio XE 2016 Beta – что нового? - 5
Другие изменения в VTune Amplifier XE:

  • Обновлён анализ General Exploration с оценкой надёжности статистики сэмплирования.
  • Новая вкладка «Platform» вместо “Tasks and Frames”
  • Сбор аппаратных событий без драйвера на Linux

Intel® MPI Library 5.1 Beta

  • Поддержка основного функционала стандарта MPI v3.0.
  • Появилась поддержка Intel® True Scale Fabric.
  • Опция -use-app-topology позволяет Hydra подстраивать расстановку MPI процессов, основываясь на ранее собранной статистике и известной топологии кластера.
  • Опция --fast для mpitune позволяет ускорить автоматическую настройку благодаря использованию результатов предыдущего запуска.
  • Опция --rank-placement для mpitune оптимизирует настройку MPI под конкретную топологию кластера, основываясь на шаблонах коммуникации.

Новая опция -gtool позволяет удобно запускать инструмент-анализатор для вашего MPI приложения. Например, Vectorization Advisor для анализа векторизации:

mpirun -n 4 -gtool "advixe-cl -collect survey:2,3" ./your_app

Или VTune Amplifier, для анализа производительности отдельных ранков:

mpirun -n 4 -gtool "amplxe-cl -collect hostpots:2,3" ./your_app

Обратите внимание, в примере анализ запускается лишь на ранках 2 и 3 из четырёх запущенных. Т.е. вы можете выборочно профилировать отдельные процессы.

Intel® Trace Analyzer and Collector 9.1 Beta

Главным нововведением является MPI Performance Snapshot. Инструмент используется для быстрой верхнеуровневой оценки производительности – как приложение масштабируется, каков баланс загрузки MPI, OpenMP и вычислений.
Intel® Parallel Studio XE 2016 Beta – что нового? - 6
Улучшен анализ гибридных приложений: Intel® Trace Analyzer позволяет выбрать MPI ранки и сгенерировать для них командную строку VTune™ Amplifier с помощью новой опции <code-gtool из Intel® MPI Library. Т.е. вы сначала определяете проблемные MPI процессы с Intel® Trace Analyzer, а потом изучаете их детально с VTune™ Amplifier.
Intel® Parallel Studio XE 2016 Beta – что нового? - 7

Резюме

Intel® Parallel Studio 2016 Beta несёт серьёзный набор нового функционала по целому ряду направлений:

  • Векторизация, оптимизация использования SIMD инструкций (Intel Advisor XE)
  • Анализ больших данных (Intel® DAAL)
  • Единый анализ гибридных HPC приложений на MPI и OpenMP (Intel Trace Analyzer and Collector, VTune Amplifier XE)
  • GPU анализ (VTune Amplifier XE)
  • Новые стандарты (Intel® Compiler, Intel® MPI)

Часть из этого есть развитие традиционного набора для HPC разработчика, но многое расширяется и на другие сферы, такие как мультимедиа и анализ данных.

Это был краткий обзор, в следующих постах напишем подробнее – дайте знать, что интересно в первую очередь.
Зарегистрироваться на Intel® Parallel Studio XE 2016 Beta.

Автор: krogozh

Источник

* - обязательные к заполнению поля


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