스레딩 빌딩 블록
개발자 | 인텔 |
---|---|
안정화 버전 | 2021.5
/ 2021년 12월 22일[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
- 타이밍: 포팅 가능하고 정밀한 전역 시간표
- 태스크 스케줄러: 태스크의 작성 및 활성화의 통제에 대한 직접 접근
역사[편집]
- 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/리눅스 및 썬 솔라리스 배포판에 포함되고 있다:
같이 보기[편집]
참조[편집]
참고 문헌[편집]
- Reinders, James (2007년 7월). 《Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism》 Paperback판. Sebastopol: O'Reilly Media. ISBN 978-0-596-51480-8.
- Voss, M. (2006년 10월). 《Demystify Scalable Parallelism with Intel Threading Building Blocks' Generic Parallel Algorithms》. 2012년 2월 5일에 원본 문서에서 보존된 문서. 2013년 2월 9일에 확인함.
- Voss, M. (2006년 12월). 《Enable Safe, Scalable Parallelism with Intel Threading Building Blocks' Concurrent Containers》. 2012년 2월 5일에 원본 문서에서 보존된 문서. 2013년 2월 9일에 확인함.
- Hudson, Richard L.; Saha, Bratin; Adl-Tabatabai, Ali-Reza; Hertzberg, Benjamin C. (2006). 〈McRT-Malloc〉. 《Proceedings of the 2006 international symposium on Memory management - ISMM '06》. 74–83쪽. doi:10.1145/1133956.1133967. ISBN 1595932216.
외부 링크[편집]
- 스레딩 빌딩 블록
- 공식 웹사이트