sách gpt4 ai đã đi

openmp - OpenMP 或 MPI 哪个更容易学习和调试?

In lại 作者:行者123 更新时间:2023-12-03 20:27:14 37 4
mua khóa gpt4 Nike

我有一个数字运算 C/C++ 应用程序。它基本上是不同数据集的主循环。我们可以使用 openmp 和 mpi 访问一个 100 节点的集群。我想加速应用程序,但我是 mpi 和 openmp 的绝对新手。我只是想知道什么是最容易学习和调试的,即使性能不是最好的。

我也想知道什么最适合我的主循环应用程序。

Cảm ơn

1 Câu trả lời

如果您的程序只是一个大循环,使用 OpenMP 可以像编写一样简单:

#pragma omp parallel for

OpenMP 仅对共享内存编程有用,除非您的集群正在运行类似 kerrighed 的程序。意味着使用 OpenMP 的并行版本一次最多只能在一个节点上运行。

MPI 基于消息传递,入门稍微复杂一些。优点是您的程序可以一次在多个节点上运行,并在需要时在它们之间传递消息。

鉴于您说“针对不同的数据集”,听起来您的问题实际上可能属于“令人尴尬的并行”类别,如果您有 100 多个数据集,您只需设置调度程序即可为每个节点运行一个数据集直到它们全部完成,无需修改您的代码,并且比仅使用单个节点快了近 100 倍。

例如,如果您的集群使用 condor 作为调度程序,那么您可以将每个数据项的 1 个作业提交到“vanilla” Universe,仅改变作业描述的“Arguments =”行。 (对于 Condor 有其他方法可以做到这一点,这可能更明智,扭矩、sge 等也有类似的方法。)

关于openmp - OpenMP 或 MPI 哪个更容易学习和调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4057953/

37 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com