Погружение в параллельные алгоритмы C++17 с использованием Intel Parallel STL
Если вы программируете или уже разрабатывали на C++, велика вероятность, что вы использовали контейнеры и алгоритмы стандартной библиотеки шаблонов (STL) в своем коде. В этом случае вы можете легко повысить производительность существующего кода с помощью параллельных алгоритмов, представленных в C++17. Хорошая новость заключается в том, что вам не нужно ждать, пока поддержка параллельных алгоритмов будет добавлена в выбранный вами компилятор C++. Intel Parallel STL — это достаточно полная реализация алгоритмов стандартной библиотеки C++ с поддержкой политик выполнения, как указано в стандарте ISO/IEC 14882:2017, также известном как C++17. Это автономная библиотека, состоящая только из заголовочных файлов, доступная бесплатно на GitHub (https://github.com/intel/parallelstl). Она может работать с любым компилятором C++11, который работает с Intel Threading Building Blocks (TBB), который также доступен бесплатно по адресу https://www.threadingbuildingblocks.org/. Кроме того, если вы хотите использовать нестандартную векторизацию (непоследовательные политики), ваш компилятор должен поддерживать SIMD-конструкции OpenMP 4.0. Компания Intel предложила предоставить свою реализацию как GCC, так и Clang. В этом докладе представлен обзор политик выполнения C++17, продемонстрировано, как использовать библиотеку Intel Parallel STL на кластере Graham сети SHARCNET, и в заключение приведены результаты некоторых бенчмарков. Примеры кода: https://git.sharcnet.ca/asobhani/parallelstl_tutorial Этот вебинар был представлен Армином Собхани (SHARCNET) 27 февраля 2019 года в рамках серии регулярных вебинаров общего интереса, проводимых SHARCNET раз в две недели. Вебинары охватывают различные темы высокопроизводительных вычислений (HPC), длятся около 45 минут и проводятся экспертами в соответствующих областях. Более подробную информацию можно найти на этой веб-странице: https://www.sharcnet.ca/help/index.php/Online_Seminars. Подпишитесь на наш аккаунт в Twitter (@SHARCNET), чтобы быть в курсе наших предстоящих вебинаров. SHARCNET — это консорциум из 18 канадских академических учреждений, которые совместно используют сеть высокопроизводительных компьютеров (http://www.sharcnet.ca). SHARCNET является частью Compute Ontario (http://computeontario.ca/) и Compute Canada (https://computecanada.ca).
Название:
Погружение в параллельные алгоритмы C++17 с использованием Intel Parallel STL
Категория:
Разное