SIMD C ++ 라이브러리 [닫기]


14

과거에는 Visual Studio를 DirectX XNA 수학 라이브러리와 함께 사용했습니다. 이제 GNU 컴파일러 컬렉션을 사용하고 있습니다. 누구나 좋은 문서로 SIMD 수학 라이브러리를 조언 할 수 있습니까?

답변:


15

또한 컴파일러 / 프로세스 의 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


고맙지 만, 나는 일상을 많이 할 시간이 없습니다.
itun

다음 번에는 어쩌면;)처럼 어렵지 않습니다. 그러나 하단에 도움이 될만한 몇 가지 링크를 추가했습니다.
Valkea

깔끔한 답변. SIMD 수학은 재미있다. 레이트 레이싱을 가속화하기 위해 SSE를 사용했던 시절을 기억합니다. 그러나 지금 GPGPU를 가지고 있다면 작은 장난감을 사용해야하는 이유 :)
Notabene


1

약간의 서비스를 통해 총알의 수학 라이브러리를 사용할 수 있다고 생각합니다. 총알 자체는 오픈 소스 물리 엔진이며 그 옆에 강력한 수학 라이브러리가있는 것 같습니다. 여기 링크 http://sourceforge.net/projects/bullet/files/SIMD%20and%20amp_%20Vector%20Math%20library/simd%20math%201.02%20and%20vector%20math%201.01/simdvectormath.tgz 다운로드 바로 가기가 있습니다 / 다운로드


나는 그것을 보았지만 그것을 컴파일하는 방법을 이해하지 못했습니다
itun

3
다운로드 링크를 덤프하는 대신 문서, 위키 및 API 참조가있는 실제 웹 사이트 링크가 더 도움이 될 수 있습니다. bulletphysics.org
Bob Somers

simdvectormath
@Bob 방금


0

AMD는 오픈 소스 SSEPlus 프로젝트를 보유하고 있지만 사용하지는 않았지만 품질이나 적용 가능성에 대해서는 언급 할 수 없습니다.


0

SIMD 사용에 초점을 맞추지는 않았지만 glm을 발견했습니다. 은 게임과 관련하여 매우 범용 수학 라이브러리라고 생각합니다. 임의의 행렬 등을 지원하지 않지만 3D 그래픽과 함께 사용할 수있는 기능이 간소화되었으며 SSE 및 일반적인 알고리즘의 더 빠른 구현을 가능하게하는 기능이 있습니다.

OpenGL과 함께 사용하도록 특별히 설계되었지만 다양한 작업에 매우 유용한 것으로 나타났습니다. 연산자 오버로딩을 많이 사용하므로 코드를 사용하고 유지 관리하는 것이 매우 쉽습니다.

이 문서는 OpenGL GLSL 언어를 기반으로하며 매우 견고한 문서를 가지고 있으며 차이점도 잘 문서화되어 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.