我目前在 Matlab 中有几个算法,我希望用 Java 编写代码。我将使用以下方法之一(Colt、Apache Commons Math、jblas)来执行此操作。然而,由于我真的希望提高这些算法的速度,我正在寻找建议,并希望现有的实现,以并行化这些算法以提高性能。
据我所知,Hadoop 不是分布矩阵运算的好选择。我也看过 Mahout,但我不清楚这是否有助于实现这一目标。
非常感谢您的所有提示和建议。
我目前在 Matlab 中有几个算法,我希望用 Java 编写代码。我将使用以下方法之一(Colt、Apache Commons Math、jblas)来执行此操作。然而,由于我真的希望提高这些算法的速度,我正在寻找建议,并希望现有的实现,以并行化这些算法以提高性能。
据我所知,Hadoop 不是分布矩阵运算的好选择。我也看过 Mahout,但我不清楚这是否有助于实现这一目标。
非常感谢您的所有提示和建议。
您从哪里获得 Hadoop“不是分布矩阵运算的好选择”的信息?这当然是一个不错的选择,但前提是您的数据量很大——至少 50 GB 以上。如果您可以将其放入内存中,Hadoop 不是一个好的选择,但如果您认为您想在多个 TB 的数据上使用它,那么 Hadoop 是一个很好的工具。在优化矩阵乘法时,还有很多其他的事情需要考虑,比如你的数据结构(它是稀疏的吗?它是否出现在集群中?等等)。
google 上有很多关于在 MapReduce 上实现矩阵乘法的信息 - 如果您选择这条路线,Jeffrey Ullman 的书可能是一个不错的起点。