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