2

我正在考虑慢慢学习并行编程。我见过人们使用安装了 OpenMPI 的集群来学习这些东西。我无权访问集群,但有一台四核机器。我能在这里体验到任何好处吗?另外,如果我在虚拟机中运行 linux,那么在虚拟机中使用 OpenMPI 是否有意义?

4

1 回答 1

5

如果您的目标是学习,则根本不需要集群。您的四核(或任何双核甚至单核)计算机将绰绰有余。重点是学习如何“并行”思考以及如何设计您的应用程序。

一些重要的点是:

  • 利用不同的并行范式,如分治、主从、SPMD 等,具体取决于您想要执行的数据和任务依赖性。
  • 选择不同的数据划分粒度来检查计算/通信比率(在消息传递的情况下),或者检查由于内存区域互斥而导致的串行执行量。

拥有一个四核,您可以测量您的方法加速(由于并行化而获得的性能增益),这通常由非并行执行时间和并行执行时间之间的划分给出。您越接近 4(四个核心意味着执行时间的 1/4),您的并行化策略就越好(一旦您可以均匀地分配工作和数据)。

于 2010-02-19T13:22:36.627 回答