2012-11-05 2 views
1

이미지 처리 응용 프로그램을 구현할 때 Intel 컴퓨터에서 SSSE3을 사용할 때 예상되는 속도는 얼마나됩니까?Intel 컴퓨터에서 SSSE3을 사용하여 예상되는 속도 향상

+0

어떤 응용 프로그램에 대해 말하고 있습니까? 여러 데이터에서 동일한 명령어를 수행하지만 다른 작업은 수행하지 않는 프로세스의 속도를 높입니다. 따라서 예를 들어 이미지 처리 속도를 높일 수는 있지만 xml 파싱은 할 수 없습니다. – Trudbert

+0

이미지 처리 응용 프로그램의 속도를 높이십시오. – Pippo

+0

속도 향상은 무엇입니까? 스칼라 코드 또는 이전 SSE 버전과 관련하여? –

답변

3

SSSE3은 SSE3보다 많은 것을 제공하지 않습니다. SSSE3가 약간의 이점을 제공하는 이미지 처리 작업에 관심이있는 것 같습니다. PMULHRSW 명령어 (색 공간 변환, 일부 알파 연산)에 잘 매핑되는 작업을 수행하면 상당히 유용 할 수 있습니다 (속도를 많이 사용하면 속도가 2 배 향상되지만 일반적으로 코드를 다시 작성해야합니다). 그것을 사용하십시오 - 컴파일러가 당신을 위해 생성하는 것은 매우 어려운 지시입니다).

PSHUFB는 다른 유용한 명령어입니다. 로드를 모으지 않아도 작은 테이블 조회를 할 수 있으므로 이미지 처리에 매우 유용 할 수 있습니다. 자연스럽게 PSHUFB에 매핑되는 시퀀스를 사용하면 엄청난 속도 향상을 얻을 수 있지만 명령을 효과적으로 사용하려면 중요한 알고리즘 변경이 필요할 수 있습니다.

내가 다른 SSSE3 작업에 대한 정말 매력적인 사용 사례를 본 적이 없다 (PALIGNR 하면이 도입되었을 때 때때로 유용했지만, 그 이후로 잘못 정렬 된 메모리는 훨씬 덜 유용하게하는, 훨씬 더 효율적으로 입수했습니다 액세스에).

+0

만약 내가 속도 향상을 스칼라 코드와 비교한다면? 그래도 답변 해 주셔서 감사합니다. – Pippo

+1

나는 여전히 'palignr'이 유용하다는 것을 발견했습니다. Core2가 꽤 많이 남아 있습니다. – harold

+0

PSHUFB는 RGB 픽셀의 인터리빙/디 인터리빙과 같은 기본 비트 맵 처리에 사용할 수 있습니다. 실제 (중요한) 성능 향상을 보려면 CPU가 SSE4 아키텍처 (Penryn 이상) 여야합니다. 이것은 [128-bit Super Shuffle Engine] 때문입니다 (http://software.intel.com/en-us/articles/faq-on-45nm-next-generation-intel-coret2-processor-family-penryn- and-intel-streaming-simd-extensions-4-intel-sse4). 초기 아키텍처 (SSSE3는 있지만 SSE4는 아님)에서 이득은 알고리즘에 필요한 중요한 변화를 정당화하기에 충분하지 않습니다. – rwong

0

응용 프로그램이 주로 pshufb 또는 유사한 지침으로 구성되어 있으면 응용 프로그램이 여러 번 속도가 빨라질 수 있습니다.

사용중인 라이브러리 기능 중 SSSE3 최적화 버전이있는 라이브러리 기능이있는 경우 거의 측정 할 수없는 최소한의 이득 만 보일 수 있습니다.

응용 프로그램에 이러한 명령어가없고 사용 된 알고리즘이 SSSE3 명령어로 쉽게 변환되지 않으면 전혀 이득이 없습니다.

전자의 경우는 극히 드물지만 후자의 경우는 극히 드뭅니다.