I've use Visual Studio with the DirectX XNA math library. Now, I use the GNU compiler collection. Can anyone advise a SIMD math library with a good documentation?
|
You can also do it "yourself" using the SSE (Streaming SIMD Extensions) instructions and the intrinsics ( *mmintrin.h files ) of your compiler/proc. Tutorials Here is an example of how to use SSE instructions with assembly: And here is a tutorial on how to use SSE instructions with intrinsics: A practical guide to using SSE SIMD with C++: Useful informations Intel C++ Intrinsics reference (useful to get the list of instructions): SSE & SSE2 Intrinsic support for the enhanced instruction sets supported by Intel and AMD processors (useful to all kinds of informations relative to SSE and SIMD): Overall instructions list and informations about SSE, SSE2, SSE3, SSSE3, SSE4, 3DNow etc (different versions of SSE for different proc architecture): If you prefer a linear algebra framework I eared about Eigen: And finally if you need more answers about C++ SIMD Frameworks, here is a StackOverflow link. (C++ SSE SIMD framework) : |
|||||||
|
|
Both of these vector/matrix-libs have optimized SSE2 code, Sony also has an Altivec for PowerPC compile switch:
|
|||
|
|
|
by a little seraching i think you can use bullet's math library, bullet itself is an opensource physics engine and it seems to have a powerfull math library beside it. here is a shortcut to download link http://sourceforge.net/projects/bullet/files/SIMD%20and%20amp_%20Vector%20Math%20library/simd%20math%201.02%20and%20vector%20math%201.01/simdvectormath.tgz/download |
|||||||||
|
|
It is not here yet. But there will be a boost.simd library (hopefully). Take look at this presentation (given last week at boostcon) https://github.com/boostcon/2011_presentations/blob/master/thu/simd.pdf |
|||
|
|
|
AMD has the open source SSEPlus project, although I have never used it so I can't comment on its quality or applicability. |
|||
|
|