SIMD C ++ライブラリ[終了]


14

過去に、DirectX XNA数学ライブラリでVisual Studioを使用しました。現在、GNUコンパイラコレクションを使用しています。誰でも良いドキュメントでSIMD数学ライブラリをアドバイスできますか?

回答:


15

SSE(ストリーミングSIMD拡張)命令とコンパイラ/プロシージャの組み込み関数(* mmintrin.hファイル)を使用して、「自分で」実行することもできます。


チュートリアル

アセンブリでSSE命令を使用する方法の例を次に示します。http
//neilkemp.us/src/sse_tutorial/sse_tutorial.html

そして、SSE命令を組み込み関数と共に使用する方法に関するチュートリアルがあります:http :
//www.codeproject.com/KB/recipes/sseintro.aspx

C ++でSSE SIMDを使用するための実用的なガイド:http :
//sci.tuomastonteri.fi/programming/sse/printable


役立つ情報

インテルC ++組み込みリファレンス(手順のリストを取得するのに役立ちます):http :
//cache-www.intel.com/cd/00/00/34/76/347603_347603.pdf

IntelおよびAMDプロセッサでサポートされる拡張命令セットのSSEおよびSSE2組み込みサポート(SSEおよびSIMDに関連するすべての種類の情報に有用):http :
//msdn.microsoft.com/en-us/library/y0dh78ez%28v= vs.71%29.aspx

SSE、SSE2、SSE3、SSSE3、SSE4、3DNowなどに関する全体的な指示リストと情報(異なるprocアーキテクチャの異なるバージョンのSSE):http ://softpixel.com/~cwright/programming/simd/sse.php


線形代数フレームワークを好む場合は、Eigenについて耳にしました:
http : //eigen.tuxfamily.org/
http://eigen.tuxfamily.org/index.php?title=FAQ#Vectorization(SIMDサポートについて)

最後に、C ++ SIMDフレームワークについてさらに回答が必要な場合は、StackOverflowリンクをご覧ください。(C ++ SSE SIMDフレームワーク):https :
//stackoverflow.com/questions/4953121/c-sse-simd-framework


ありがとう、しかし、私はそれほど多くのルーチンをする時間がない。
-itun

次回は、それほど難しくないように見えるかもしれません;)。ただし、役立つと思われるリンクを下部にいくつか追加しました。
ヴァルケア

きちんとした答え。SIMD数学は楽しいです。私はレイトレーシングを加速するためにSSEを使用していた日々を覚えています。しかし、今GPGPUを持っているなら、小さなおもちゃをプレイする理由:)
Notabene


1

少し調べてみると、弾丸の数学ライブラリを使用できると思います。弾丸自体はオープンソースの物理エンジンであり、その横に強力な数学ライブラリがあるようです。ダウンロードリンクhttp://sourceforge.net/projects/bullet/files/SIMD%20and%20amp_%20Vector%20Math%20library/simd%20math%201.02%20and%20vector%20math%201.01/simdvectormath.tgzへのショートカットです。/ダウンロード


私はそれを見たが、それをコンパイルする方法を私は理解していなかった
itun

3
ダウンロードリンクを単にダンプするのではなく、おそらくドキュメント、Wiki、およびAPIリファレンスを含む実際のWebサイトへのリンクの方が役立つ場合があります。bulletphysics.org
ボブ・ソマーズ

@Bob私はちょうどそのダウンロードリンクを表現したかったのsimdvectormathは、弾丸ファイルで特定のファイルを見つけるのに少し時間がかかるからです
-Ali1S232


0

AMDにはオープンソースのSSEPlusプロジェクトがありますが、使用したことがないので、その品質や適用性についてコメントすることはできません。


0

SIMDの使用に厳密に焦点を合わせていませんが、ゲームに関してはglmは非常に優れた汎用数学ライブラリであることがわかりました。任意のマトリックスなどはサポートしていませんが、3Dグラフィックスで使用する合理化された機能があり、SSEを有効にする機能と一般的なアルゴリズムのいくつかのより高速な実装があります。

OpenGLで使用するように特別に設計されていますが、さまざまなタスクに非常に役立つことがわかりました。演算子のオーバーロードを頻繁に使用するため、それを使用するコードの使用と保守が非常に簡単になります。

これはOpenGL GLSL言語に基づいており、非常に堅実なドキュメントがあり、相違点も十分にドキュメント化されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.