Конструктивные компоненты Intel
® 
Threading Building Blocks версии 2.0
PrintEmail to a friendSupportNewsletterRSSDigg thisdel.icio.us
Информация о продуктеЦентр ознакомительного ПОРесурсы поддержки

Бесплатное ознакомительное ПО ›

Загрузка бесплатного некоммерческого ПО ›

Купить программный продукт ›



Новая версия библиотеки Конструктивных компонентов Intel Threading Building Blocks содержит открытые исходные коды !

Обзор

Конструктивные компоненты Intel® Threading Building BlocksКонструктивные компоненты Intel® Threading Building Blocks (Intel® TBB) – удостоенная наград библиотека исполняемых компонентов на языке C++, реализующих функции низкоуровневого многопоточного программирования, необходимые для оптимальной производительности приложений в многоядерных системах. Библиотека, использующая основные шаблоны и стиль программирования языка С++, устраняет необходимость в трудоёмкой реализации многопоточности.

По сравнению с другими моделями многопоточности, для организации параллелизма с использованием Intel® TBB требуется меньше дополнительного кода. Приложения, которые вы разработаете, будут совместимы с различными платформами. Кроме того, поскольку библиотека поддерживает масштабируемость, вам не придётся изменять код, чтобы оптимизировать его под новые процессоры с увеличенным числом ядер.

Библиотека Intel TBB поставляется в виде отдельного программного продукта или в комплекте с компиляторами Intel® Complier Professional Editions . Второй вариант является более полным и экономичным решением для разработчика.

Библиотека Intel® TBB – презентация в формате Flash
ПросмотрЗагрузка

Краткое описание продукта  [PDF 678 Кб]



Новая книга: «Конструктивные компоненты Intel® Threading Building Blocks: разработка параллельных приложений на языке С++ для систем на базе многоядерных процессоров»

Использование языка C++ и библиотеки Конструктивных компонентов Intel Threading Building Blocks считается неотъемлемой частью процесса разработки параллельных приложений для многоядерных систем. В этой книге доступным языком, понятным как начинающим, так и опытным разработчикам, изложены основные трудности разработки многопоточного кода. Книга содержит множество примеров, из которых вы узнаете, как получить максимум преимуществ при использовании компонентов Intel TBB для разработки приложения. Подробнее 

«Когда-то считалось, что необходимо создать правильный программный код, а только затем его оптимизировать. Теперь у нас другое мнение. С помощью библиотеки Intel TBB мы разработали корректный и одновременно высокопроизводительный код для приложения Maya. Из книги вы узнаете, как получить максимум преимуществ при использовании Intel TBB для эффективного программирования.
Мартин Ватт (Martin Watt)
Ведущий разработчик программного обеспечения
Корпорация Autodesk


Функциональные возможности
Использование готовых параллельных алгоритмов

Библиотека высокооптимизированных моделей параллельных алгоритмов обеспечивает быструю оптимизацию программного кода под многоядерные процессоры Intel.

  • Использование распространённых алгоритмов, оптимизированных для многопоточного масштабируемого ПО
  • Шаблоны, адаптирующие алгоритмы под конкретную модель использования
  • Простое встраивание в приложения повышает их масштабируемость, оптимизирует под многоядерность и увеличивает коэффициент попаданий в кэш-память
  • Ускоренный процесс разработки большинства многопоточных приложений благодаря использованию готовых параллельных структур

Рис. 1 и 2 демонстрируют сравнение простоты, масштабируемости и производительности многопоточного кода, разработанного с использованием Конструктивных компонентов Intel® Threading Building Blocks в отличии от Windows* threads.


Рис. 1. Реализация потоков с помощью Конструктивных компонентов Intel® Threading Building Blocks значительно проще по сравнению с использованием Windows* threads.

Для сравнения простоты реализации многопоточного кода, разработанного с использованием Конструктивных компонентов Intel® Threading Building Blocks, и его аналога на основе POSIX* threads, щёлкните здесь.




Рис. 2. Многопоточный код, разработанный с использованием Конструктивных компонентов Intel® Threading Building Blocks, отличается повышенной масштабируемостью и производительностью по сравнению со своим аналогом, разработанным с использованием Windows* threads.

Для сравнения масштабируемости и производительности многопоточного кода, разработанного с использованием Конструктивных компонентов Intel® Threading Building Blocks, и его аналога на основе POSIX* threads, щёлкните здесь.


Поддержка нескольких платформ

Поддержка многопоточным приложением нескольких операционных систем

  • Унифицированное решение для компиляторов Intel®, Microsoft и GNU при работе на 32-разрядных и 64-разрядных платформах под управлением ОС Windows*, Linux* и Mac OS X*
  • Поддержка совместной работы с ведущими в отрасли компиляторами Intel, Microsoft и GNU
  • Ускоренное развёртывание приложений на многоядерных платформах

Параллельное выполнение на основе задач

Реализация параллельного выполнения логических задач, а не физических потоков

  • Разработчик получает возможность сосредоточиться на высокоуровневых моделях масштабируемых задач, а не на реализации механизмов многопоточности низкого уровня
  • Реализация надёжного алгоритма декомпозиции данных, эффективно использующего несколько ядер
  • Поддержка автоматического распределения нагрузки между потоками
  • Эффективная работа с вложенными параллельными алгоритмами, являющимися компонентами других параллельных алгоритмов

Решение создано на базе библиотеки

Реализация высокооптимизированной параллельной обработки с меньшими усилиями

  • При запуске приложения, разработанного на языке С++, автоматически вызывается библиотека Конструктивных компонентов Threading Building Blocks
  • Разработчику не нужно переписывать код на другом языке, поскольку библиотека поддерживает стандартный язык программирования C++
  • Совместимость с другими инструментами для многопоточного проектирования
  • Распространение библиотек исполняемых компонентов в составе ПО не ограничено
  • Простая интеграция в современные среды разработки

Оптимизированные параллельные контейнеры

Оптимизация работы процессора над выполнением одновременных задач

  • Упрощённый процесс разработки многопоточных приложений благодаря интерфейсам, реализующим потокобезопасный параллельный код
  • Повышенное качество приложений благодаря использованию проверенных структур данных
  • Повышенная производительность и эффективность приложений благодаря их оптимизации под многоядерные и многопроцессорные среды

Автоматический выбор степени детализации

Intel® TBB автоматически вычисляет степень распараллеливания, необходимую для выполнения конкретной задачи с оптимальной производительностью в системах с многоядерными процессорами.

Новое в данной версии
Новые возможности библиотеки Intel TBB версии 2.0, отличающие её от версии 1.0:

  • Поддержка Microsoft Windows Vista*
  • Поддержка систем с архитектурой Intel® 64, работающих под управлением Apple Mac OS X*
  • Поддержка Apple Mac OS* X версии 10.4.8
  • Поддержка новых версий Linux, в том числе: Red Hat EL5, Red Hat Fedora Core версии 5 и 6, Asianux* версии 2.0
  • Улучшенная производительность и надёжность класса spin_mutex
  • Автоматический расчёт степени распараллеливания, при которой обеспечивается оптимальное исполнение алгоритма
  • Доступна версия с открытым исходным кодом 
Компоненты библиотеки
В состав библиотеки Конструктивных компонентов Intel® Threading Building Blocks входят компоненты, перечисленные ниже.

Основные параллельные алгоритмы
  • parallel_for
  • parallel_reduce
  • parallel_scan
  • parallel_sort
  • parallel_while
  • pipeline


Вспомогательные классы для работы с алгоритмами
  • blocked_range (для использования в алгоритмах, контейнерах и т. д.)
  • blocked_range2d (для использования в алгоритмах, контейнерах и т. д.)

Потокобезопасные контейнеры
  • concurrent_hash_map
  • concurrent_queue
  • concurrent_vector

Примитивы синхронизации
  • atomic
  • spin_mutex
  • spin_rw_mutex (spin mutex для чтения/записи)
  • queuing_mutex
  • queuing_rw_mutex (queuing mutex для чтения/записи)
  • mutex

Планировщик задач

Распределение памяти
  • scalable_allocator
  • cache_aligned_allocator
  • aligned_space

Таймер
  • tick_count
Совместимость
Конструктивные компоненты Intel Threading Building Blocks являются кроссплатформенным решением, поддерживающим 32-разрядные и 64-разрядные приложения и компиляторы Intel, Microsoft и GNU при работе на платформах под управлением ОС Windows, Linux и Mac OS* X.

Библиотека представляет собой сложное и одновременно гибкое решение, поскольку она разработана с учётом совместного использования других технологий многопоточности, например, потоков Win32*, POSIX* и OpenMP*. Модели многопоточности из состава Конструктивных компонентов Intel Threading Building Blocks основаны на общих шаблонах программирования, которые дают возможность реализовать производительные гибкие алгоритмы с минимальным количеством ограничений в реализации.

Для ускоренной разработки производительных многопоточных приложений рекомендуется использовать Конструктивные компоненты Intel Threading Building Blocks совместно с инструментами Intel® Thread Checker и Intel® Thread Profiler, а также с компиляторами Intel® .

В Конструктивных компонентах Intel® Threading Building Blocks реализована поддержка следующих процессоров:

  • Процессор Intel® Pentium® 4
  • Процессор Intel® Xeon®
  • Процессор Intel® Pentium® D
  • 64-разрядный процессор Intel® Xeon®
  • Процессор Intel® Core™ Solo
  • Процессор Intel Core Duo
  • Процессор Intel Core 2 Duo
  • Процессор Intel® Itanium® 2 (только для систем под управлением ОС Linux*)
  • Процессоры других производителей, совместимые с процессорами, перечисленными выше

В Конструктивных компонентах Intel® Threading Building Blocks реализована поддержка следующих операционных систем:

Семейство Microsoft Windows*
  • Microsoft Windows XP Professional
  • Microsoft Windows Server* 2003
  • Microsoft Windows Vista*

Семейство Linux*
  • Red Hat Enterprise Linux* версий 3, 4 и 5 (в системе на базе процессоров Intel Itanium, работающей под управлением ОС Red Hat Enterprise Linux версии 4, рекомендуется установить Пакет обновлений 2 или более поздний)
  • Red Hat Fedora* Core версии 4, 5 и 6 (не поддерживается процессорами Intel Itanium)
  • Asianux* версии 2.0
  • Red Flag DC Server версии 5.0
  • Haansoft Linux* Server 2006
  • Miracle Linux версии 4.0
  • SuSE Linux Enterprise Server (SLES) версии 9 и 10
  • SGI Propack* 4.0 (поддерживается только процессорами Intel Itanium)
  • SGI Propack версии 5.0 (не поддерживается процессорами с 32-разрядной архитектурой Intel)
  • Mandriva/Mandrake Linux версии 10.1.06 (не поддерживается процессорами Intel Itanium)
  • Turbolinux GreatTurbo* Enterprise Server версии 10 SP1 (не поддерживается процессорами Intel Itanium)

Семейство Mac OS X*
  • Mac OS X версии 10.4.4 или более поздней, версии

В Конструктивных компонентах Intel® Threading Building Blocks реализована поддержка следующих компиляторов:

  • Microsoft Visual C++* версии 7.1 (требуется Microsoft Visual Studio* .NET 2003, совместим только с ОС Windows)
  • Microsoft Visual C++* версии 8.0 (требуется Microsoft Visual Studio 2005, совместим только с ОС Windows)
  • Компилятор Intel® C++ Compiler версии 9.0 или более поздней (ОС Windows и Linux)
  • Компилятор Intel® C++ Compiler версии 9.1 или более поздней (Mac OS X)
  • Для ОС семейства Linux поставляется совместимый компилятор GCC одной из следующих версий: 3.2, 3.3, 3.4, 4.0, 4.1
  • Для семейства Mac OS X поставляется стандартный компилятор GCC версии 4.0.1 (Комплект инструментов Xcode* версии 2.2.1 или более поздней)

Техническая поддержка
При приобретении Конструктивных компонентов Intel Threading Building Blocks вы в течение года будете обеспечены технической поддержкой и обновлениями на интерактивном web-сайте Intel® Premier Support. Вы сможете задать вопрос службе поддержки, загрузить обновления программных продуктов и получить доступ к техническим ресурсам, практическим рекомендациям и другой документации. Для получения более подробной информации посетите Центр регистрации Intel .

Системные требования
В Конструктивных компонентах Intel® Threading Building Blocks реализована поддержка следующих операционных систем:



Требования к конфигурации системы, работающей под управлением ОС Microsoft Windows

Аппаратное обеспечение
Минимальные требования
  • Процессор Intel® Pentium® 4
  • ОЗУ 512 МБ
  • 300 МБ свободного места на диске
Рекомендуемые требования
  • Процессор Pentium® 4 с поддержкой технологии Hyper-Threading Technology1 (технологии НТ) или процессор Intel® Xeon®
  • ОЗУ 1 ГБ
Программное обеспечение
Минимальные требования
  • Microsoft Windows* XP Professional, Microsoft Windows Server* 2003 или Microsoft Windows Vista*
  • Компилятор Intel® C++ Compiler версии 9.0 для ОС Windows или более поздней версии
  • Microsoft Visual C++* версии 7.1 или 8.0
  • Microsoft Internet Explorer* версии 6.0 или более поздней
  • Adobe Reader* версии 6.0 или более поздней
Рекомендуемые требования
  • Инструмент Intel® Thread Checker версии 3.0 или более поздней
  • Инструмент Intel® Thread Profiler версии 3.0 или более поздней


Требования к конфигурации системы, работающей под управлением ОС Linux

Аппаратное обеспечение
Минимальные требования
  • Процессор Intel® Pentium® 4 или Intel® Itanium® 2
  • ОЗУ 512 МБ
  • 300 МБ свободного места на диске
Рекомендуемые требования
  • Процессор Pentium® 4 с поддержкой технологии Hyper-Threading Technology1 (технологии НТ), процессор Intel® Xeon® или процессор Intel Itanium 2
  • ОЗУ 1 ГБ
Программное обеспечение
Минимальные требования
  • Система должна работать под управлением одной из операционных систем, перечисленных ниже:
    • Red Hat Enterprise Linux* версии 3, 4 или 5
    • Red Hat Fedora Core* версии 4, 5 или 6 (не поддерживается процессорами Itanium)
    • Asianux* версии 2.0
    • Red Flag DC Server* версии 5.0
    • Haansoft Linux* Server 2006
    • Miracle Linux версии 4.0
    • SuSE Linux Enterprise Server* версии 9 или 10
    • SGI Propack* 4.0 (поддерживается только процессорами Itanium)
    • SGI Propack версии 5.0 (не поддерживается процессорами с 32-разрядной архитектурой Intel)
    • Mandriva/Mandrake Linux версии 10.1.06 (не поддерживается процессорами Intel Itanium)
    • Turbolinux GreatTurbo* Enterprise Server версии 10 SP1 (не поддерживается процессорами Intel Itanium)
  • При разработке должен использоваться один из компиляторов, перечисленных ниже:
    • Компилятор Intel® C++ Compiler версии 9.0 для ОС Linux или более поздней версии
    • Компилятор GCC версии 3.2, 3.3, 3.4, 4.0 или 4.1
  • Adobe Reader* версии 6.0 или более поздней
Рекомендуемые требования
  • Инструмент Intel® Thread Checker версии 3.0 или более поздней
  • Web-браузер


Требования к конфигурации системы на базе процессоров Intel, работающей под управлением Mac OS X

Аппаратное обеспечение
Минимальные требования
  • Процессор Intel® Core™ Solo
  • ОЗУ 512 МБ
  • 300 МБ свободного места на диске
Рекомендуемые требования
  • Процессор Intel® Core™ Duo
  • ОЗУ 1 ГБ
Программное обеспечение
Минимальные требования
  • Mac OS* X версии 10.4.4
  • Комплект инструментов Xcode версии 2.2.1 или более поздней
  • Компилятор Intel® C++ Compiler версии 9.1 для Mac OS X или более поздней
  • Adobe Reader* версии 6.0 или более поздней
Рекомендуемые требования
  • Web-браузер
1 Для реализации технологии Hyper-Threading Technology необходима вычислительная система на базе процессора Intel® Pentium® 4 с поддержкой технологии Hyper-Threading Technology, набора микросхем и BIOS, поддерживающих эту технологию, под управлением операционной системы, оптимизированной для работы с технологией Hyper-Threading Technology. Реальные значения производительности могут изменяться в зависимости от конфигурации и настроек аппаратных средств и программного обеспечения. Более подробную информацию, в том числе список процессоров, поддерживающих технологию Hyper-Threading Technology, можно получить по адресу http://www.intel.com/info/hyperthreading .


Intel® Software
Network
Intel® Software Network
  • It’s free and easy to become a member, so join today!