为什么选择Eigen作为TensorFlow?

时间:2017-01-07 06:03:44

标签: c++ tensorflow eigen

TensorFlow白皮书提到使用了Eigen。是否有关于如何选择Eigen的公开解释,他们是否有动力在TensorFlow C ++ op内核中使用Eigen?

1 个答案:

答案 0 :(得分:11)

我认为首先推动使用Eigen的关键特性之一是因为Eigen具有自己的高度优化的矩阵产品内核,而所有其他竞争对手必须链接到一些BLAS库。此外,Eigen产品内核的代码是C ++,可以轻松访问低级内部内核,因此他们可以“轻松”调整和扩展它以满足他们的需求。通过这种方式,Google能够以纯粹的标头方式开发具有高CPU性能的Tensor模块。后来通过SyCL支持CUDA和现在的OpenCL,这些都不是Eigen的内在特征,而是推动了最初的选择。