因为现在的机器几乎都是多核多处理器的,在每个节点上还可以进行节点内的并行,以充分利用每台机器的计算性能。
做并行计算还需要选择一种合适的并行计算工具,很多编程语言都提供了多种并行实现机制。以Python为例,可以使用标准库中的[threading模块](https://docs.python.org/2/library/threading.html)进行线程级别的并行,[multiprocessing模块](https://docs.python.org/2/library/multiprocessing.html)进行进程级别的并行,[concurrent.futures模块](https://docs.python.org/3/library/concurrent.futures.html)实现异步并行,使用[IPython.parallel模块](https://ipython.org/ipython-doc/3/parallel/index.html)进行多种方式的并行,使用[mpi4py包](https://pypi.org/project/mpi4py/)进行MPI消息传递并行计算,等等。如果可以使用C/C++,Fortran或者使用cython为Python编写扩展模块,还可以使用OpenMP并行。偶的个人[简书专题](https://www.jianshu.com/c/5019bb7bada6)和[CSDN博客专栏](https://blog.csdn.net/column/details/26248.html)中有对用Python做并行计算的专门介绍并提供了大量的程序实例。有需要或者感兴趣的可以了解下。