python中并行性的选择

时间:2014-03-21 01:37:48

标签: python cuda parallel-processing mpi openmp

似乎有许多并行化Python的选项。我在下面看到了这些选项:

共享内存: therading,multiprocessing,joblib,cython.parallel

分布式内存: mpi4py,parallelpython(pp)

任何CUDA,OpenCL选项?

有没有人有使用这些或其他并行库的经验?他们如何相互比较?我对python在科学计算领域的计算密集型应用程序中的使用特别感兴趣。

2 个答案:

答案 0 :(得分:2)

  

任何CUDA,OpenCL选项?

无论如何,CUDA都有pyCUDACopperhead

还有pyOpenCL。 (我对OpenCL不熟悉,可能还有其他人。)

SO上有pyCUDA和pyOpenCL标签。

pyCUDA和pyOpenCL基本上是“包装”AFAIK,但目前还不清楚你究竟在寻找什么 - 你的范围看起来很宽。

答案 1 :(得分:1)

据我所知,pyPar和/或pyMPI是科学领域中计算密集型应用程序中最常用的两个库。

pyPar往往更容易使用,而pyMPI功能更完善 - 因此第一次更频繁地用于不太复杂的计算。

Iirc,它们只是相关C库的python包装器,使它们成为性能最高/效率最高的库。