【发布时间】:2013-12-08 18:49:06
【问题描述】:
是否有一个预先存在的库可以让我创建具有以下属性的类似数组的对象:
- 运行时大小规范(在实例化时选择,之后不会增长或缩小)
- 重载操作符以执行元素操作(即
c=a+b将产生一个向量c和c[i]=a[i]+b[i]用于所有i,类似地用于*、-、/等) - 一组很好的按元素作用的函数,例如
x=sqrt(vec)将有元素x[i]=sqrt(vec[i]) - 提供“总结”功能,如
sum(vec)、mean(vec)等 - (可选)可以将操作发送到 GPU 进行处理。
基本上类似于 Fortran 中数组的工作方式,隐藏了所有实现。目前我正在使用 STL 中的vector 并手动重载运算符,但我觉得这可能是一个已解决的问题。
【问题讨论】:
-
或许你可以试试Eigen library。
标签: c++ arrays vector fortran gpu