2010-01-28 4 views
17

일반적인 SIMD 트릭에 대한 정보는 어디에서 찾을 수 있습니까? 명령어 세트를 가지고 있고 까다로운 SIMD 코드를 작성하는 법을 알고 있지만, SIMD는 훨씬 강력합니다. 복잡한 조건부 분기 코드를 보유 할 수 있습니다./드문 SIMD 기술도 좋다 튜토리얼일반적인 SIMD 기술

USUB8 Rd, Ra, Rb 
SEL Rd, Rb, Ra 

링크 : 예 (ARMv6) 용
는 명령어의 다음 순서는 Ra 및 Rb는의 대응하는 바이트의 부호없는 최소 동일한 RD의 각 바이트를 설정) ARMv6은 저에게 가장 흥미로운 내용이지만 x86 (SSE, ...)/네온 (ARMv7에서)/기타도 좋습니다.

답변

12

최고의 SIMD 리소스 중 하나는 이전의 AltiVec 메일 링리스트였습니다. PowerPC/AltiVec과 관련하여 필자는이 목록에있는 많은 자료가 다른 SIMD 아키텍처로 작업하는 모든 사람들에게 일반적으로 관심이 있다고 생각합니다. 안타깝게도이 목록은 이제 power.org의 포럼으로 이동 한 후에 없어졌지만 아카이브 된 버전을 찾을 수 있습니다. (그렇지 않다면 2000 년부터 2007 년까지 거의 모든 게시물을 가지고 있습니다.)

AltiVec, SSE, SIMD 벡터화 및 성능에 대한 유용한 정보가 많이 있습니다. http://developer.apple.com/hardwaredrivers/ve/index.html, 좋은 이 거래는 다른 SIMD 아키텍처로 이전 될 수 있습니다.

+1

에 AMD의 SSEPlus 프로젝트 시도 - "알티 벡 코드를 작성"단원의 일부를 일반 벡터 프로그래밍 모범 사례에 매우 도움이됩니다. –

+3

불행히도 지금 당장 현재 해당 페이지가 Apple Advanced Conmputation Group으로 리디렉션됩니다. 해당 페이지는 여전히 Google 캐시에 있습니다 : http://209.85.229.132/search?q=cache:eHR6ni6SROoJ:developer.apple.com/hardware/ve/index.html+site:developer.apple.com+Velocity+Engine&cd = 1 & hl = fr & ct = clnk & gl = fr 및 서브 페이지가 리다이렉트하지 않기 때문에 콘텐츠를 계속 사용할 수 있습니다. 다만 Just In Case (TM)를 보관했습니다. –

+0

@ 피에르 : 그건 정말 수치스러운 일입니다. 애플이 아무도 AltiVec에 관심이 없다고 생각합니다. 불행히도 오래된 AltiVec 메일 링리스트도 사라진 것처럼 보입니다. power.org로 옮겨졌지만 지금은 찾을 수 없습니다. 다행스럽게도 나는 그것의 대부분을 보관했다. –

6

는 소스 포지 알티 벡 (AltiVec) 페이지에 합의

+0

첫 번째 링크가 깨졌습니다. – NullUserException