A A A

Intel oneAPI Threading Building Blocks

Biblioteka typu run-time poprawiająca wydajność aplikacji i upraszczająca tworzenie wielowątkowych struktur programu. Dostarcza równoległe algorytmy oraz współdzielone struktury, które eliminują wielowątkowe programowanie równoległe na najniższym poziomie. Biblioteka stanowi zestaw procedur, które są podstawą wielowątkowych struktur, dzięki czemu aplikacja może optymalnie wykorzystać procesory wielordzeniowe. Dzięki Intel oneTBB napisana aplikacja wielowątkowa może z łatwością być przenoszona między platformami Windows, macOS i Linux. Dodatkową ważną cechą jest skalowalność biblioteki, co zapewnia zdolność aplikacji do pracy na systemach komputerowych o różnej liczbie procesorów.

Cechy produktu:
  • Szybkie i łatwe stosowanie wymaganego algorytmu z dostępnego zestawu szablonów, dla osiągnięcia wysokiej wydajności systemu i jego skalowalności
  • Struktura szablonu pozwala na łatwe przystosowanie algorytmu do indywidualnych wymogów aplikacji
  • Zwiększenie szybkości aplikacji i optymalne wykorzystanie poszczególnych rdzeni procesorowych, testy wykazały zwiększenie szybkości tworzonej aplikacji w porównaniu z tradycyjnym kodowaniem wielowątkowego przetwarzania równoległego w technologii Windows Threads
  • Redukcja nakładów pracy, potrzebnych do wytworzenia wielowątkowego oprogramowania dzięki możliwości użycia predefiniowanych struktur przetwarzania równoległego

Wieloplatformowość aplikacji:
Aplikacja napisana pod jednym systemem operacyjnym może być łatwo przenoszona na inne systemy operacyjne.
  • Rozwiązanie dla Windows, Linux, macOS na 32 i 64-bitowych platformach z wykorzystaniem kompilatorów Intel, Microsoft oraz GNU
  • Współpraca z wiodącymi kompilatorami firm Intel, Microsoft oraz GNU
  • Przyspieszenie tworzenia aplikacji na wieloprocesorowych platformach wielordzeniowych

Zrównoleglanie zadań:
  • Umożliwia koncentrację programistów na zrównoleglaniu zadań, uwalniając ich od kodowania źródłowego mechanizmów zrównoleglania na najniższym poziomie
  • Użycie sprawdzonych metod dekompozycji danych, które efektywnie wykorzystują struktury wielordzeniowe procesorów
  • Zrównoległanie zagnieżdżone (możliwość użycia komponentów zrównoleglania wewnątrz innych)
  • Możliwość użycia automatycznych technik zrównoważenia obciążenia rdzeni obliczeniowych (load balancing)

oneTBB jako rozwiązanie bazujące na idei biblioteki:
oneTBB umożliwia osiągnięcie wysoko zoptymalizowanej równoległej funkcjonalności przy minimalnym nakładzie pracy programistów.
  • Tworzona aplikacja w C++ wywołuje procedury oneTBB
  • Zastosowany standard C++, nie jest wymagane przepisywanie kodu procedur w innych językach
  • Kompatybilność z pakietami analizy struktur wielowątkowych
  • Prawo nieograniczonej redystrybucji biblioteki run-time
  • Łatwość integracji biblioteki z istniejącymi środowiskami programowania

Wielozadaniowość:
Optymalizacja zdolności procesora do wykonywania jednoczesnych zadań.
  • Uproszczenie w tworzeniu wielowątkowych aplikacji z interfejsem zapewniającym bezpieczeństwo pracy wielowątkowej
  • Poprawa jakości tworzonych aplikacji poprzez użycie sprawdzonych struktur algorytmów przetwarzania równoległego.
  • Poprawa wydajności wykonywania aplikacji poprzez umożliwienie wykorzystania rdzeni lub procesora do wspólnego wykonywania zadań

Kompatybilność:
oneTBB jest biblioteką wieloplatformową, współpracuje z aplikacjami tworzonymi zarówno na 32-bit i 64-bit procesorach, pracuje z kompilatorami Intel, Microsoft i GNU. Biblioteka jest zaprojektowana, aby pracować z technologiami wielowątkowymi takimi jak: Win32 POSIX czy OpenMP, zapewnia wysoki stopień swobody przy modyfikacji algorytmów oraz dużą elastyczność. Szablony zaimplementowane w oneTBB polegają na programowaniu uogólnionym (generic programming), które zapewnia dużą szybkość tworzenia aplikacji oraz elastyczności algorytmów z niewielką ilością ograniczeń.

Doskonała skalowalność i lepsze wyniki przy użyciu Intel oneAPI TBB w porównaniu z szeregowymi implementacjami.

Kliknij aby powiększyć


Kompleksowość
Intel oneAPI TBB to zestaw komponentów, które pomagają uprościć i przyspieszyć rozwój skalowalnych i równoległych aplikacji o wysokiej wydajności. Dostarcza równoległe algorytmy, pozwala planować zadania, zapewnia skalowalność alokacji pamięci i pierwotną synchronizację.

Przyszłościowe aplikacje
Przy wykorzystaniu abstrakcyjnych zadań wydajność aplikacji automatycznie poprawia się wraz ze wzrostem liczby rdzeni procesora. Zaawansowany harmonogram dynamicznie mapuje zadania dla wątków, aby równoważyć obciążenia między dostępnymi rdzeniami, zachować lokalizację pamięci podręcznej i maksymalizować równoległą wydajność.