0

私は、ほとんど変化しない行列と多くの小さなベクトル (非常に少数の 3x3 または 4x4 行列と 3 つの値を持つベクトル) を使用して線形代数計算を実行する必要がある状況にあり、C++ を使用することを考えていました。 x86 32ビット、x86 64ビット、ARMv5以上に設定されたいくつかのCPU命令は、物事を高速化し、数学演算の設計を簡素化します。

驚いたことに、私は線形代数の実際のセットを見つけていません。それらのほとんどは浮動小数点演算用で、キャッシュされ、必要に応じて最適化されていますが、行列と線形代数の実際のセットは何もありません。私だけか、線形代数のセットがありません?

AMD の新しい FMA3 は、最初は興味深いように見えますが、最新の CPU で見つけるのはまだ非常にまれです。x86 の SSE や ARM の ARMv5 と同じくらい人気のあるものに固執したいと思います。

では、小さくて迅速な線形代数計算用の一般的な命令セットはありますか? 速度が十分であれば、かなりの量のエラーを受け入れることさえできます。

編集:

実際には、私のコンパイラは次のとおりであることにも注意してください。

  • gcc
  • ミングウ
  • ビジュアルスタジオ

そのため、x86 と ARM の両方でオープン ソース製品とポータブル ライブラリを使用したいと考えています。

編集 2: Eigen はマルチスレッドの実行をサポートしていません。これは私にとって大きな問題です。

4