스레딩 빌딩 블록

스레딩 빌딩 블록
Threading Building Blocks
개발자인텔
안정화 버전
2021.8 / 2023년 2월 17일(21개월 전)(2023-02-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
  • 타이밍: 포팅 가능하고 정밀한 전역 시간표
  • 태스크 스케줄러: 태스크의 작성 및 활성화의 통제에 대한 직접 접근

역사

[편집]
  • 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/리눅스썬 솔라리스 배포판에 포함되고 있다:

같이 보기

[편집]

참조

[편집]

참고 문헌

[편집]

외부 링크

[편집]