Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
线程构造块库还是MPI?哪一个更适合我?_Mpi_Tbb_Parallel Processing - Fatal编程技术网

线程构造块库还是MPI?哪一个更适合我?

线程构造块库还是MPI?哪一个更适合我?,mpi,tbb,parallel-processing,Mpi,Tbb,Parallel Processing,我计划学习并行计算。现在我想到的是MPI或TBB。事实上,我在这方面没有太多经验。我想我最好从容易管理的事情开始。首先,我可能会尝试粗粒度代码之类的东西。哪一个对我来说更容易?谢谢。这取决于您对并行性的定义以及您想要实现的目标。TBB的要点是利用多核处理器。在这种情况下,并行意味着同时在多个核上运行 然而,MPI的主要优点是分布式内存并行计算。在此场景中,在不同物理机器的集群上运行应用程序,并通过TCP或其他专有协议相互通信 总之,根据您的问题空间,其中一个可能更好。这实际上取决于您试图解决的问

我计划学习并行计算。现在我想到的是MPI或TBB。事实上,我在这方面没有太多经验。我想我最好从容易管理的事情开始。首先,我可能会尝试粗粒度代码之类的东西。哪一个对我来说更容易?谢谢。

这取决于您对并行性的定义以及您想要实现的目标。TBB的要点是利用多核处理器。在这种情况下,并行意味着同时在多个核上运行

然而,MPI的主要优点是分布式内存并行计算。在此场景中,在不同物理机器的集群上运行应用程序,并通过TCP或其他专有协议相互通信


总之,根据您的问题空间,其中一个可能更好。这实际上取决于您试图解决的问题。

MPI和TBB在方法上非常非常不同

MPI基本上是一个标准。这在开发线程化应用程序时更难使用,因为它强制执行更严格的隔离规则。但是,它允许您扩展到多个进程,在多个系统上运行


另一方面,它真正致力于使单个应用程序中的线程更简单、更容易实现。这与微软的方法非常相似,甚至。

我尝试做的是将几个搜索过程并行化,并在每个过程之间交换信息,希望它能改进算法的解决方案,例如,在计算机群集或多核计算机上使用多个不同的解算器来解决问题。如果您认为您的问题需要多个核,那么MPI可能是一种可行的方法,因为您具有更大的扩展能力。