Рубрика «intel tbb»

Интеграция Intel Threading Building Blocks в ваш CMake проект - 1

Привет, уважаемые читатели habrahabr. В этом блоге мы хотели бы анонсировать, что теперь у нас появились CMake модули, которые позволяют скачивать, собирать и просто использовать Intel Threading Building Blocks (Intel TBB) в ваших CMake проектах. Модули доступны в репозитории проекта Intel TBB на GitHub, а также в бинарных пакетах для Linux* OS, Windows* OS и macOS*, начиная с релиза Intel TBB 2017 Update 7.
Читать полностью »

Сегодня поговорим об оптимизации кода, который реализует муравьиный алгоритм нахождения оптимальных путей на графах. Узкие места в программе будем искать с помощью Intel VTune Amplifier XE 2016 Update 2, а оптимизировать с использованием MPI, OpenMP и библиотеки Intel Threading Building Blocks.

96 вычислительных ядер и оптимизация кода муравьиного алгоритма поиска маршрутов - 1

Наша цель заключается в том, чтобы добиться эффективной работы программы на компьютере с четырьмя процессорами Intel Xeon E7-8890 v4. Система оснащена 512 Гб оперативной памяти, на ней установлена Linux 3.10.0-327.el7.x86_64, код компилировался с помощью Intel Parallel Studio XE 2016 U2.
Читать полностью »

Данный пост является продолжением авторского перевода статьи «Flow Graphs, Speculative Locks, and Task Arenas in Intel® Threading Building Blocks» из Parallel Universe Magazine, выпуск 18, 2014. В этой половине статьи мы рассмотрим спекулятивные замки (speculative locks), которые используют преимущества технологии Intel® Transactional Synchronization Extensions и управляемые пользователем арены для задач (user-managed task arenas), которые обеспечивают расширенный контроль и управление уровнем параллелизма и изоляции задач. Если Вас заинтересовало — добро пожаловать под кат.
Читать полностью »

Данный пост является переводом статьи «Flow Graphs, Speculative Locks, and Task Arenas in Intel® Threading Building Blocks» из Parallel Universe Magazine, выпуск 18, 2014. Если вас интересует библиотека Intel® TBB в частности, и интересные современные концепции параллельного программирования в общем, то — добро пожаловать под кат.
Читать полностью »

Эта статья описывает, как построить простое приложение для магазина Windows используя Intel® Threading Building Blocks (Intel® TBB).

Мой предыдущий пост Windows 8: Написание многопоточных приложений для магазина Windows с помощью Intel® Threading Building Blocks описывает экспериментальную поддержку для приложений для магазина Windows. Обновление 3 для Intel TBB 4.1, так же как стабильный релиз tbb41_20130314oss содержит динамические библиотеки для таких приложений.
Читать полностью »

Совсем недавно мы рассматривали написание многопоточных приложений для магазина Windows с помощью Intel® Threading Building Blocks(Intel® TBB). Там утверждается, что использование кроссплатформенной библиотеки TBB позволяет легко переносить вычислительную часть на другие платформы. Android как раз сгодится для хорошего примера одной из «других платформ», подробности под катом.
Читать полностью »

image
Один из методов улучшения эффективности распараллеливания алгоритмов определенного класса – конвейеризация фаз исполнения, как последовательных, так и параллельных. Библиотека Intel TBB может помочь сократить усилия и время, необходимые на реализацию конвейеризированных алгоритмов, беря на себя заботу об управлении задачами и распределении нагрузки между потоками в системе. Однако, формулирование и формирование задач, составляющих фазы алгоритма, может быть нетривиальной проблемой в зависимости от сложности алгоритма, что в реальных приложениях чаще всего и бывает. Контролировать выполнение задач может оказаться еще сложнее, если сам алгоритм не содержит средства для контроля. Инструментарий анализа вычислительных задач в Intel® VTune™ Amplifier помогает разработчикам представлять структуру исполнения в многопоточной среде в удобном графическом виде, увеличивая эффективность анализа и значительно сокращая время разработки приложений. В данной статье мы рассмотрим простой пример конвейеризированной задачи, и шаг за шагом распараллелим ее, используя конвейерный класс TBB, проанализируем с помощью VTune Amplifier и улучшим производительность реализации на основе результатов анализа.
Читать полностью »

Как известно, в программном интерфейсе приложений для магазина Windows (Windows Store apps) отсутствуют многие функции работы с потоками, начиная с CreateThread() и заканчивая работой с TLS ключами. И это отличный повод перейти от параллелизма, основанного на системно-зависимых потоках к параллелизму, основанному на задачах. Данный пост излагает пошаговую инструкцию о том, как написать простейший многопоточный пример, который проходит аттестацию для магазина Windows (Windows App Certification Kit validation) и, гипотетически, может быть масштабирован до игрушек космического масштаба. А поскольку используется кроссплатформенная библиотека Intel® Threading Building Blocks (Intel® TBB, TBB, threadingbuildingblocks.org), то вычислительная часть может быть легко перенесена на другие платформы, и задача будет заключаться только в том, чтобы нарисовать новый красивый графический интерфейс.
Читать полностью »


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