4

我正在寻找一个 C++ 固定大小的矩阵库,它将以与boost::numeric::ublas相同的方式实现向量和矩阵的最常见操作,但要 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 Math 怎么样?它包含向量和矩阵的特殊类以及对它们进行操作的大量特殊函数。

  • XMVECTOR
  • XMMATRIX
  • XMVectorMethodName
  • XMMatrixMethodName
于 2013-02-27T18:58:52.093 回答