2012-04-17 6 views
4

두 이미지의 점을 맞추기 위해 Visual C++ 2010의 OpenCV에서 BRIEF 설명자를 사용하고 있습니다.Visual C++에서 SSE4.2 명령어 세트를 활성화하려면 어떻게합니까?

는 "간단한 설명은 종종 특정을 제공하는 현대적인 CPU에서 매우 빠르게 수행 할 수 있습니다 해밍 거리를 사용하여 간단한-기술자에 대한 the paper에서

는 물건을 빠르게하는 것이 가능하다는 것을 기록 명령은 최신 SSE 명령어 세트의 경우와 마찬가지로 XOR 또는 비트 카운트 연산을 수행합니다.

SSE4.2를 사용하면 속도가 빨라집니다. 내 질문은 Visual C++에서이 작업을 수행하는 방법입니다.

다른 방법으로 SSE4를 지원하는 다른 컴파일러를 선택할 수 있습니다. 예를 들어 Intel의 ICC. 이게 정말 필요한가요?

+0

Visual Studio (IDE)와 Visual C++ (프로그래밍 언어)의 차이점은 무엇입니까? :) – abatishchev

답변

4

불행히도, 그렇게 작동하지 않습니다.

C/C++ 컴파일러는 프로젝트 -> C/C++ -> 코드 생성 -> 향상된 명령 세트 사용의 특정 명령 세트를 사용하도록 지시받을 수 있습니다. 그러나 그것은 거의 아무것도하지 않으며, 당신의 경우에는 절대적으로 아무것도하지 않습니다. 일부 CPU 명령어는 C 명령어로 쉽게 액세스 할 수 없기 때문입니다. 일부 컴파일러 (Intel과 같은)는 다른 것보다이 방법이 더 뛰어납니다.하지만 원하는대로 컴파일러를 사용할 수 없습니다.

특정 알고리즘을 찾고 SSE 지침을 배우고 알고리즘을 수동으로 다시 작성해야합니다. 순수한 어셈블리로 작성하거나 intrinsic 함수를 사용할 수 있습니다.이 함수는 C/C++에서 호출 할 수 있으며 컴파일 할 때 SSE 명령어를 실행합니다.