출처: http://codens.info/641?category=173851
* Intel TBB( Threading Building Blocks )
http://threadingbuildingblocks.org/
tbb 4.2 update2 - Visual studio 2013 지원, 직접 소스 빌드 필요
멀티 프로세서에서 성능 향상을 위해, 인텔이 개발한 C++ 템플릿 라이브러리
* 사용방법
- 환경변수 설정
TBBROOT = "TBB 설치 경로"(압축푼 경로)
TBB_BIN_DIR = "TBB 설치 경로"\bin
- Project Property 설정
- C/C++ -> Preprocessor Definitions :
TBB_USE_DEBUG 추가(Debug 버전만, Release 버전은 필요없음)
- Library 경로추가
- Linker -> Additional Library Directorie :
$(TBBROOT)\lib\ia32\vc10 <-- Visual studio 2010의 경우
- 라이브러리 추가
- Linker -> Input : Additional dependencies :
Debug 버전 : tbb_debug.lib
Release 버전 : tbb.lib
//===============
- 에러 "Could not determine path to TBB libraries" 해결 방법
- Visual Studio 의 다른 버전이 설치된 경우 최상위 버전으로 경로를 인식한다.
- examples/common/copy_libraries.bat 수정
- VC10(VS2010) 의 경우 아래 두개를 주석 처리 한다.
if ("%VS90COMNTOOLS%") NEQ ("") set vc_dir=vc9
if ("%VS100COMNTOOLS%") NEQ ("") set vc_dir=vc10
rem if ("%VS110COMNTOOLS%") NEQ ("") set vc_dir=vc11
rem if ("%VS120COMNTOOLS%") NEQ ("") set vc_dir=vc12
- 다른 방법 : %PlatformToolSet% 변수 활용,
- Project Property 설정을 수정해야 한다
Build Event -> Post-Build Event : command line
call "$(SolutionDir)\..\..\..\common\copy_libraries.bat" ia32 debug "$(OutDir)" $(PlatformToolset)
- $(PlatformToolset) 변수를 추가 하되 따옴표로 묶으면 안됨
//============
* 성능 비교
examples\GettingStarted\sub_string_finder 프로젝트에 sub_string_finder_extended를 실행해 보면
serial에 비해 parallel의 속도가 4.5배 이상 빠른 것으로 나온다.
//===============
* 직접 소스 컴파일
- 소스코드 다운로드 (source code download)
https://www.threadingbuildingblocks.org/download
//===============
// 참고
__TBB_MIC_OFFLOAD
인텔 MIC(Many Integrated Core) = GPGPU(General-Purpose computing on Graphics Processing Units)
GPGPU = GPU를 사용하여 CPU가 담당했던 계산을 수행하는 기술
Offload = CPU가 처리할 일을 GPGPU로 보내는것
http://minjang.egloos.com/viewer/2849241
'언어 > C++' 카테고리의 다른 글
Boost 라이브러리 설치 (0) | 2018.01.20 |
---|---|
마이크로초(Micro Second) 구하기 (0) | 2018.01.20 |
OpenCV + IPP + TBB 사용법 (0) | 2018.01.20 |
Intel IPP 사용법 (0) | 2018.01.20 |
windows IPP 설치 및 VC++ 작업환경 구성하기 (0) | 2018.01.20 |