高性能C++多维数组

ast*_*rog 13 c++ multidimensional-array

我正在寻找有关C++的高性能多维数组库/类的建议.我真正需要的是:

  • 能够动态分配具有在运行时确定的大小的数组

  • 访问和修改单个数组值的能力(快速)

  • 能够使用简单的数组算法,如 array1 = array2 + 2 * array3

  • 一个维护良好的图书馆

我遇到过各种图书馆,包括:

  • Blitz ++,它看起来正是我所需要的,但似乎没有得到很好的维护(最新的稳定版本是5年前)

  • Boost,它不支持数组算术,并且与Blitz ++相比似乎相当慢.

  • Jonn Bowman的 array.h没有文档.

有没有人对上述选项有任何其他建议或意见?

Nei*_*l G 6

Eigen维护得非常好(现在,至少每个月都有新版本出现),并支持您需要的其他操作.

  • Eigen(master)现在有一个全功能的张量库(多维数组) (4认同)
  • Eigen似乎不支持多维数组. (2认同)

yka*_*hou 1

也许存在诸如 BLAS、CBLAS 之类的库,但不记得在哪里。

http://www.netlib.org/blas/