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

[ Thread Index | Date Index | More 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 ...):

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
~/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
~/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+