gazebosim / gz-math

General purpose math library for robot applications.
https://gazebosim.org/libs/math
Apache License 2.0
54 stars 67 forks source link

Question what about SSE? #22

Open osrf-migration opened 9 years ago

osrf-migration commented 9 years ago

Original report (archived issue) by Davide Faconti (Bitbucket: facontidavide).


Hi,

just a question/suggestion. A quick inspection of the code reveals that no SSE or similar vectorization was used. Being this library a potential building block of several robotic components (kinematics, graphics, dynamics, etc.) I wonder why you need to build from scratch yet another implementation when Bullet 3 has a vectorized one. Why aren't you using Eigen? This is of course an observation that I would give to anyone writing somethin like Matrix4x4.h... ;)

Kind regards

Davide

osrf-migration commented 9 years ago

Original comment by Jose Luis Rivero (Bitbucket: Jose Luis Rivero, GitHub: j-rivero).


Hey Davide!

The ignition-math code was split from gazebo as a first step to make it a bit mode modular. I agree that makes very little sense to reimplement another math library when we have good open source alternatives already in place. I want to see ign-math as a first step to be able to migrate gazebo maths to one of them, as this issue (#19) is proposing.

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


We can also consider Blaze:

osrf-migration commented 9 years ago

Original comment by Davide Faconti (Bitbucket: facontidavide).


I am also toying with boost::simd (not a Boost library yet). It provide a portable way to use SIMD and it is quite easy to use.

I guess I will publish my code just as reference pretty soon. The performance is MUCH faster for floats and considerably better even for doubles.

osrf-migration commented 9 years ago

Original comment by Davide Faconti (Bitbucket: facontidavide).


A nice note about boost::simd is that it support NEON. I believe neither Eigen nor Blaze does.

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


We could also look at the bullet linear math library, which has lots of SIMD/ neon optimizations

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


Cc @hmazhar who told me about blaze

osrf-migration commented 7 years ago

Original comment by Davide Faconti (Bitbucket: facontidavide).


Hi,

a quick question. Is there any reason to NOT use libraries such as Eigen, Blaze or the lower lever Boost::Simd to speed up this one?

Just asking ...