답변:
또한 컴파일러 / 프로세스 의 SSE (Streaming SIMD Extensions) 명령어 및 내장 함수 (* mmintrin.h 파일)를 사용하여 "직접"수행 할 수도 있습니다 .
튜토리얼
다음은 어셈블리와 함께 SSE 명령어를 사용하는 방법의 예입니다.
http://neilkemp.us/src/sse_tutorial/sse_tutorial.html
다음은 내장 함수와 함께 SSE 명령어를 사용하는 방법에 대한 자습서입니다.
http://www.codeproject.com/KB/recipes/sseintro.aspx
C ++에서 SSE SIMD 사용에 대한 실용적인 안내서 :
http://sci.tuomastonteri.fi/programming/sse/printable
유용한 정보
인텔 C ++ 내장 참조 (명령 목록을 얻는 데 유용함) :
http://cache-www.intel.com/cd/00/00/34/76/347603_347603.pdf
SSE 및 SSE2 Intel 및 AMD 프로세서에서 지원하는 향상된 명령어 세트에 대한 고유 한 지원 (SSE 및 SIMD와 관련된 모든 종류의 정보에 유용) :
http://msdn.microsoft.com/en-us/library/y0dh78ez%28v= vs.71 % 29.aspx
SSE, SSE2, SSE3, SSSE3, SSE4, 3DNow 등에 대한 전체 지침 목록 및 정보 (다른 프 로세스 아키텍처에 따라 다른 버전의 SSE) :
http://softpixel.com/~cwright/programming/simd/sse.php
당신이 원하는 경우 선형 대수 프레임 워크를 내가 아이겐에 대해 귀가 :
http://eigen.tuxfamily.org/
http://eigen.tuxfamily.org/index.php?title=FAQ#Vectorization (SIMD 지원에 대한)
마지막으로 C ++ SIMD 프레임 워크에 대한 추가 답변이 필요한 경우 다음은 StackOverflow 링크 입니다. (C ++ SSE SIMD 프레임 워크) :
/programming/4953121/c-sse-simd-framework
이 벡터 / 매트릭스-라이브러리 모두 SSE2 코드를 최적화했으며 Sony는 Altivec for PowerPC 컴파일 스위치도 제공합니다.
소니의 vectormath SSE2와 Altivec
총알의 선형 수 SSE2
약간의 서비스를 통해 총알의 수학 라이브러리를 사용할 수 있다고 생각합니다. 총알 자체는 오픈 소스 물리 엔진이며 그 옆에 강력한 수학 라이브러리가있는 것 같습니다. 여기 링크 http://sourceforge.net/projects/bullet/files/SIMD%20and%20amp_%20Vector%20Math%20library/simd%20math%201.02%20and%20vector%20math%201.01/simdvectormath.tgz 다운로드 바로 가기가 있습니다 / 다운로드
simdvectormath
아직 여기에 없습니다. 그러나 boost.simd 라이브러리가 있습니다 (희망적으로). 이 프리젠 테이션을 살펴보십시오 (지난 주에 boostcon에서 제공됨)
https://github.com/boostcon/2011_presentations/blob/master/thu/simd.pdf
SIMD 사용에 초점을 맞추지는 않았지만 glm을 발견했습니다. 은 게임과 관련하여 매우 범용 수학 라이브러리라고 생각합니다. 임의의 행렬 등을 지원하지 않지만 3D 그래픽과 함께 사용할 수있는 기능이 간소화되었으며 SSE 및 일반적인 알고리즘의 더 빠른 구현을 가능하게하는 기능이 있습니다.
OpenGL과 함께 사용하도록 특별히 설계되었지만 다양한 작업에 매우 유용한 것으로 나타났습니다. 연산자 오버로딩을 많이 사용하므로 코드를 사용하고 유지 관리하는 것이 매우 쉽습니다.
이 문서는 OpenGL GLSL 언어를 기반으로하며 매우 견고한 문서를 가지고 있으며 차이점도 잘 문서화되어 있습니다.