我正在Linux中编写C代码(可能稍后在Windows中),代码包括带并行处理的大量线性代数计算。我正在使用GotoBLAS2处理大量工作。 仍有一些矩阵计算(特别是稀疏矩阵)应该手动执行。我搜索了互联网,发现了一些像Open MP这样的库。此外,似乎线程可能会有所帮助。 什么是C中并行计算的最佳方法? 感谢
有关我的代码的其他信息: 我特别关注稀疏矩阵 - 向量乘法。另外,我有一大组矢量{v1,v2,v3,v4,...},这些矢量应该乘以不同的数字,这可以使用并行计算来执行。 感谢
答案 0 :(得分:3)
这实际上是一个“讨论”类型的问题,而不是“这是一个问题;谁可以帮助我解决它?”类型。 “最好的方法”是主观的。我非常喜欢OMP - 它为你处理了很多线程管理。最后,“最好”是你可以有效使用的。在坏人手中的强大工具是不好的。您可以在一天内学到足够的OMP,以便通过您机器上几乎所有处理器的数量来加速某些关键循环 - 这是我的投票。