python并行计算

0. 基础并行/发:multiprocessing/threading

1. concurrent

2. 并发:asynico

3. Ipython下的并行计算:

    使用ipyparallel库的IPython提供了前所未有的能力,将科学Python的探索能力与几乎即时访问多个计算核心相结合。系统可以直观地与本地或网络的计算节点集群进行交互,而不管集群的实现方式如何。

这种易于交互使用帮助IPython和Python成为各种学科的科学计算和数据科学的流行工具。https://ipyparallel.readthedocs.io/en/latest/demos.html

https://ipyparallel.readthedocs.io/en/latest/demos.html

4. 分布式消息异步任务队列:

     Celery是基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。

执行单元(称为任务)使用多处理,Eventletgevent在单个或多个工作服务器上并发执行任务可以异步(在后台)或同步执行(等到准备好)。

Celery用于生产系统,每天处理数百万个任务。

5. Parallel Python:https://www.parallelpython.com/content/view/15/30/

6. mpi: 进程间通信,mpi4py

7. 分布式发行版:Intel®Distributionfor Python 。https://software.intel.com/en-us/distribution-for-python

8. 计算加速:numba

9. 分布式计算框架:spark, dask

https://wiki.python.org/moin/ParallelProcessing

https://www.imooc.com/article/17970?block_id=tuijian_wz

https://github.com/pgiri/dispy

 10. 时下较活跃的库

https://github.com/ray-project/ray

https://pathos.readthedocs.io/en/latest/pathos.html#module-pathos.multiprocessing

https://pycos.sourceforge.io/tutorial.html#asynchronous-concurrent-programming

windows 下只能试下pathos了,ray不行

11. scoop不活跃了啊

同时,Python社区的最新趋势不是在集群上分配任务,而是将它们放在高性能GPU上(大多数超级计算机将在不久的将来成为GPU)。有许多Python库来处理这些任务,包括绑定到OpenCL和CUDA。

https://hpc-carpentry.github.io/hpc-python/06-parallel/

数据密集型与计算密集型融合?

 https://www.quora.com/Is-there-any-Deep-Learning-library-that-works-on-MPI-Spark-or-any-distributed-platform-without-using-any-GPUs

 

 

原文地址:https://www.cnblogs.com/wdmx/p/10238190.html