Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

Cross-platform (SIMD) Math Library?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 TiagoCosta   Crossbones+   -  Reputation: 1065

Like
0Likes
Like

Posted 20 December 2012 - 06:49 AM

In the past I've used XNA Math because my engine only used DirectX, and it got the job done.

Now I'm looking port my engine to other platforms (mainly iOS with OpenGL ES) so I'm trying to find a fast cross-platform Math Library...

Or should I simply use a different library in each platform?

Edited by TiagoCosta, 20 December 2012 - 06:51 AM.

Tiago Costa
Aqua Engine - my DirectX 11 game "engine" - In development

Ad:

#2 ic0de   Members   -  Reputation: 672

Like
0Likes
Like

Posted 20 December 2012 - 07:14 AM

I use glm but as far as I know the SIMD functionality only works on x86.
you know you program too much when you start ending sentences with semicolons.

#3 Olof Hedman   Members   -  Reputation: 1226

Like
0Likes
Like

Posted 20 December 2012 - 07:33 AM

The linearmath module of Bullet has a NEON implementation in 2.81, (and SSE for x86) maybe that is useful for you?

I have no opinion of its general speed though.

#4 frob   Moderators   -  Reputation: 7623

Like
0Likes
Like

Posted 20 December 2012 - 10:55 AM

Although the devices both have SIMD operations, the operations are not identical nor are they interchangable. There are operations available on each that are not available on the other. The usage patterns on each are different.

If you need functions optimized for either platform you would be best to use a platform-specific library.

#5 TheChubu   Members   -  Reputation: 1087

Like
0Likes
Like

Posted 21 December 2012 - 05:25 AM

Yep. There is no NEON for x86, there is no SSE for ARM. 

 

SIMD, Single Instruction Multiple Data is just the general idea of a particular sort of parallelism. Implementations differ.



#6 gekko   Members   -  Reputation: 399

Like
0Likes
Like

Posted 23 December 2012 - 01:39 PM

You might want to look into DirectX Math, which replaced XNA Math.  It has support for ARM NEON for Windows 8, and I have no iOS experience, but there's a chance it uses the same instructions.  If not, you might want to consider porting it.


-- gekko




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS