2017-02-04 10 views
1

Intel VTune Amplifier을 사용하여 OpenCV를 프로파일하려고합니다. this 페이지에는 최상의 분석을 위해 제안 된 컴파일러 옵션 목록이 있습니다.최적화 된 디버그 모드에서 OpenCV 빌드?

디버그 플래그 (예 : -g)와 최적화 플래그 (예 : -O2 이상)가 혼합되어있어 '디버깅 정보가 포함 된 출시 모드'라고 할 수 있습니다.

OpenCV를 VTune으로 프로파일 링하려면이 옵션도 함께 빌드해야한다고 생각합니다. 그러나 OpenCV는 CMAKE를 사용하며 cmake -D CMAKE_BUILD_TYPE=Release을 사용하면 디버그 옵션을 사용하지 않고 cmake -D CMAKE_BUILD_TYPE=Debug을 사용하여 최적화 플래그를 생성합니다 (어느 것이 어떤 코드인지는 모르겠지만 -O3 또는 similars라고 가정).

결론적으로 OpenCV를 -g-O2 플래그로 빌드 할 수없는 것으로 보입니다.이 플래그는 모두 VTune을 사용하는 프로파일 링 응용 프로그램에 적합합니다. 내가 맞습니까?

어떻게 해결할 수 있습니까?

답변

1

https://cmake.org/cmake/help/v3.0/variable/CMAKE_BUILD_TYPE.html

사용 CMAKE_BUILD_TYPE=RelWithDebInfo 최적화 플래그 및 디버그 정보를 모두 얻을 수 있습니다.

+0

선생님, 저를 구한 것입니다. 감사합니다. 이것은'-O0' 옵션을 포함합니까? [This] (https://software.intel.com/en-us/node/605665)를 인용하기 때문에 : "Debug Build 또는 -O0'을 사용하지 마십시오." – justHelloWorld

+0

'make VERBOSE = 1'은 명령을 보여줍니다 실행되므로 정확히 어떤 플래그가 사용되는지 확인할 수 있습니다. -O0는 최적화가 아니므로 릴리스 빌드처럼 보이지는 않지만 확인을 위해 직접 확인하십시오. – xaxxon

+0

그게 완벽합니다! 나는 그것이 내가 필요로하는 모든 것, 감사하다고 생각한다! – justHelloWorld