Re: [eigen] Issues regarding Quaternion-alignment and const Maps

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Benoit Jacob schrieb:
>> and (quaternion * quaternion) only for float (at least in
>> Eigen2).
> 
> That's still the case. SSE wouldn't bring a very big benefit for
> doubles here, I'm afraid.

It does, if SSE3 is available.
Using this program I just hacked together, (after spending half a day
finding some useful documentation about SSE-intrinsics ...):
http://www.informatik.uni-bremen.de/~chtz/eigen_quat_sse.cc

I got a speed-up of more than 2 (no thorough benchmarking though, also
no unit-testing ...)
I didn't try how much one could gain with just SSE2 (the _mm_addsub_pd
comes in very handy :) )

===== TIMINGS =====
~/workspace/test> g++ -msse2 -I../../eigen -O2 eigen_quat_sse.cc
~/workspace/test> time ./a.out
0.1572 0.3143 0.4715 -0.8089
real	0m3.182s
user	0m3.156s
sys	0m0.004s
~/workspace/test> g++ -msse3 -I../../eigen -O2 eigen_quat_sse.cc
~/workspace/test> time ./a.out
0.1572 0.3143 0.4715 -0.8089
real	0m1.481s
user	0m1.472s
sys	0m0.000s



-- 
----------------------------------------------
Dipl.-Inf. Christoph Hertzberg
Cartesium 0.051
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen

Tel: (+49) 421-218-64252
----------------------------------------------



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/