2011-05-09 2 views
2

Où puis-je trouver une bibliothèque rapide pour les calculs vectoriels et matriciels? J'ai besoin de hautes performances.Bibliothèque mathématique haute performance pour les calculs vectoriels et matriciels

Mise à jour: I need it for games calculations.

+0

Quel type de vecteurs/matrices? Lié aux graphismes (matrices 3x3 par exemple)? Ou pour les systèmes plus grands? Dense ou éparse? – Bart

+0

J'ai besoin d'une bibliothèque pour les jeux de caculations. Matrix et vecteurs 4x4 – Saleh

+0

duplication possible de [Qu'est-ce qu'une bibliothèque mathématique C/C++ open source qui prend en charge les mathématiques vectorielles et les nombres complexes?] (Http://stackoverflow.com/questions/5933955/what-is-a-good- open-source-cc-math-bibliothèque-que-supports-vecteur-math-et-compl) –

Répondre

6

Modifier: Désolé, je ne suis pas assez élevé pour ajouter des commentaires partout mais juste remarqué que vous avez mentionné qu'il est pour les jeux, à moins que vous écrivez votre moteur dans le logiciel sans matériel accélération, alors les avantages que vous obtiendrez des manipulations matricielles (en supposant qu'ils soient pour TCL) sont à peu près nuls par rapport au reste de votre code.


Je ne peux pas vous lier à une bibliothèque particulière, mais que vous spécifiez haute performance quelques suggestions qui peuvent aider si personne est à venir avec quelques bibliothèques pour vous:

  1. Marque utilisation des instructions SSE.
  2. Si vous avez l'argent, la bibliothèque de maths Intel est censée être excellente, tout comme leur compilateur.
  3. Les calculs vectoriels et matriciels sont le genre de choses sur lesquelles les GPU excellent. Cela peut valoir la peine de regarder quelque chose comme CUDA de nVidia.
5

Eigen est censé être très bon:

Eigen

+0

Blaze est maintenant à: https://bitbucket.org/blaze-lib/blaze – pdbj

2

Vous pouvez jeter un oeil à la math library des outils géométriques. Et si vous ne créez pas votre propre moteur, vous pourriez vouloir regarder quelque chose comme OGRE pour le paquet complet.

5

Optez pour Blaze. Consultez également le marquage de banc dans la configuration de noyaux parallèles. C'est certainement le plus rapide. enter image description here

Questions connexes