개발자 | 인텔 |
---|---|
안정화 버전 | 2021.8
/ 2023년 2월 17일[1] |
저장소 | |
프로그래밍 언어 | C++ |
운영 체제 | FreeBSD, 리눅스, 솔라리스, OS X, 마이크로소프트 윈도우 |
종류 | 라이브러리 또는 소프트웨어 프레임워크 |
라이선스 | 이중: 상용 / 오픈 소스 |
웹사이트 | http://threadingbuildingblocks.org/ |
스레딩 빌딩 블록(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
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/리눅스 및 썬 솔라리스 배포판에 포함되고 있다: