4

boost::numeric::ublasと同じ方法でベクトルと行列の最も一般的な操作を実装する C++ 固定サイズの行列ライブラリを探していますが、 CUDA カーネル で使用されます(したがって、固定サイズでローカル メモリのみを使用し、グローバル メモリ アクセスは使用しません)。

いくつかのホストベースのマトリックス ライブラリを見つけました: boost::numeric::ublasEigenblitzですが、カーネル上の CUDA で使用できる固定サイズのマトリックスがありません。 Eigenには、私が探しているMatrix3fとそれに対応するものがありますが、nvcc でのコンパイルには耐えられません (ただし、その方向でいくつかの進歩があるようですが、こちらを参照してください)。

編集:私はLinuxですべてのことを行っているので、クロスプラットフォームで何かしたいと思っています...

4

2 に答える 2

3

非常にうまく動作することが示されている一般的な C++ 数学ライブラリを探している場合は、目的に応じてglmを試すことができます。これは GLSL に基づいてモデル化されています。つまり、そのデータは列優先順で格納され、すべてのシェーダー/GPU 指向の設計に適しています。GLM はヘッダーのみのライブラリであり、非常に標準に準拠しているとされているため、適切にコンパイルされる可能性があります。

于 2013-02-27T19:52:27.793 に答える
0

DirectX SDKで配布されるXNA数学はどうですか?これには、ベクトルと行列の特別なクラスと、それらを操作するための多数の特別な関数が含まれています。

  • XMVECTOR
  • XMMATRIX
  • XMVectorMethodName
  • XMMatrixMethodName
于 2013-02-27T18:58:52.093 に答える