结合Boost :: Threads和OpenMP

时间:2012-06-14 13:30:10

标签: multithreading boost parallel-processing openmp boost-thread

我不是并行编程方面的专家。但我很好奇我是否可以在同一个应用程序中使用它们。有什么好处吗?可以办到?似乎没有人问这个问题。将OpenMP和MPI结合起来也有类似的问题。一般的答案是肯定的,取决于。但我对MPI并不是很熟悉。

1 个答案:

答案 0 :(得分:2)

MPP在某种意义上与OpenMP正交 - 它是编程分布式存储器系统的范例,其中每个MPI进程无法直接访问其他MPI进程内存(例如,在不同计算节点上运行的不同进程)。由于现在大多数计算节点都是多核的,因此可以使用OpenMP或其他线程方法对每个节点进行编程,并使用MPI在节点之间交换消息。 OpenMP和boost:threads都是线程范例。除了使用boost::threads执行常规线程任务和OpenMP(对于某些数据并行任务而言在概念上更简单)之外,我认为没有必要将它们混合在一起。