我不是并行编程的专家。但我很好奇是否可以在同一个应用程序中同时使用它们。有什么好处吗?可以做到吗?似乎没有人问这个问题。将OpenMP和MPI结合起来也有类似的问题。一般的答案是依赖的。但我对MPI不是很熟悉。
发布于 2012-06-14 21:39:15
MPI在某种意义上与OpenMP是正交的-它是一种编程分布式内存系统的范例,其中每个MPI进程都无法直接访问其他MPI进程内存(例如,不同的进程运行在不同的计算节点上)。由于现在大多数计算节点都是多核的,所以可以使用OpenMP或其他线程方法对每个节点进行编程,并使用MPI在节点之间交换消息。OpenMP和boost:threads都是线程化范例。除了使用boost::threads执行常规线程任务和使用OpenMP执行某些数据并行任务之外,我看不出混合使用它们有什么意义。
https://stackoverflow.com/questions/11034162
复制相似问题