【问题标题】:The best approach for Parallel computation in C [closed]C中并行计算的最佳方法[关闭]
【发布时间】:2013-01-10 14:44:22
【问题描述】:

我正在 Linux 中(可能稍后在 Windows 中)编写 C 代码,该代码包括具有并行处理的大量线性代数计算。我正在使用处理大量工作的 GotoBLAS2。 仍然有一些矩阵计算(尤其是稀疏矩阵)应该手动执行。我在互联网上搜索了一些库,例如 Open MP。此外,线程似乎很有帮助。 在 C 中进行并行计算的最佳方法是什么? 谢谢

关于我的代码的其他信息: 我特别关心稀疏矩阵向量乘法。另外,我有一大组向量 {v1, v2, v3, v4, ...},这些向量应该乘以不同的数字,这可以使用并行计算来执行。 谢谢

【问题讨论】:

  • 也许你应该提供一些你打算做的事情的示例代码,或者你现在拥有什么。这很模糊。
  • “稀疏矩阵计算”可以由 BLAS 例程执行 - 那么为什么要手动执行呢?
  • 如何使用 BLAS 进行稀疏矩阵向量计算?这将是非常好的,因为 GotoBLAS 是高度优化的。

标签: c parallel-processing sparse-matrix matrix-multiplication


【解决方案1】:

这真的是一个“讨论”类型的问题,而不是“这里有问题;谁能帮我解决?”类型。 “最佳方法”是主观的。我非常喜欢 OMP——它为你处理了大量的线程管理。最后,“最好的”是你可以有效使用的东西。一个强大的工具在坏人手中是不好的。您可以在一天内学习足够多的 OMP,以通过几乎您机器上的处理器数量来加速一些关键循环 - 这让我投票。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多