스레딩 빌딩 블록 (Threading Building Blocks, TBB)은 다중 코어 프로세서 의 이점을 취하는 소프트웨어 프로그램을 작성할 목적으로 인텔 이 개발한 C++ 템플릿 라이브러리 이다.
라이브러리 속성
TBB는 병렬 프로그래밍을 위한 구성 요소들의 집합이다:
기본 알고리즘: parallel_for
, parallel_reduce
, parallel_scan
고급 알고리즘: parallel_while
, parallel_do
, parallel_pipeline
, parallel_sort
컨테이너 : concurrent_queue
, concurrent_priority_queue
, concurrent_vector
, concurrent_hash_map
동적 메모리 할당: scalable_malloc
, scalable_free
, scalable_realloc
, scalable_calloc
, scalable_allocator
, cache_aligned_allocator
상호 배제 : mutex
, spin_mutex
, queuing_mutex
, spin_rw_mutex
, queuing_rw_mutex
, recursive mutex
원자적 연산 : fetch_and_add
, fetch_and_increment
, fetch_and_decrement
, compare_and_swap
, fetch_and_store
타이밍: 포팅 가능하고 정밀한 전역 시간표
태스크 스케줄러: 태스크의 작성 및 활성화의 통제에 대한 직접 접근
역사
1.0 (2006년 8월 29일)
1.1 (2007년 4월 10일)
2.0 (2007년 7월 24일)
2.1 (2008년 7월 22일)
3.0 (2010년 5월 4일)
4.0 (2011년 9월 8일)
4.1 (2012년 9월 5일)
4.2 (2013년 9월 4일)
지원 시스템
TBB는 3.0 기준으로 마이크로소프트 윈도우 (XP 이상), OS X (버전 10.5.8 이상), 리눅스 를 지원하며, 비주얼 C++ (윈도 전용이며 버전 8.0 이상), 인텔 C++ 컴파일러 (버전 11.1 이상), GCC 를 사용할 수 있다.[ 2] 또, TBB 오픈 소스 커뮤니티는 썬 솔라리스 [ 3] , 파워PC , 엑스박스 360 , QNX 뉴트리노 , FreeBSD 를 위한 패치를 제작하여 기여하고 있다.
2010년 3월 기준으로, TBB는 FreeBSD 에서 이용할 수 있으며 다음의 GNU/리눅스 및 썬 솔라리스 배포판에 포함되고 있다:
같이 보기
참조
참고 문헌
외부 링크
기울인 항목들은 더 이상 지원되지 않거나 종료 예정임을 나타냄.
개발 도구 구성 요소 공개 소스 조직 인텔 브랜드가 아닌것