两种Python进行cpu并行运算的方式

Python一共有两种并行方式

1. 使用multiprocessing

第一种方式用于单个节点内部的并行,也就是说同时发起的进程数不能超过你单个机器CPU的线程数。

以下是第一种方式的并行程序:

python 复制代码
import multiprocessing
import time
import os
import numpy as np
ncore=20

def run(core):
	Your code
	reture 0

if __name__ == '__main__':
    print(time.strftime('%Y-%m-%d %H:%M:%S'))
    param = np.arange(20)
    p = multiprocessing.Pool(ncore)
    p.map(run, param)
    p.close()
    p.join()
    print(time.strftime('%Y-%m-%d %H:%M:%S'))

提交脚本直接:

bash 复制代码
python your_job_name.py

2. 使用mpi4py

第二种方式用于跨节点的并行,可以发起成千上百个CPU的并行。

以下是第二中方式的并行程序:

python 复制代码
from mpi4py import MPI
import time
import os
import numpy as np
ncore=20

def run(core):
	Your code
	reture 0

if __name__ == '__main__':
    print(time.strftime('%Y-%m-%d %H:%M:%S'))
    comm = MPI.COMM_WORLD
    rank = comm.Get_rank()
    run(rank)
    print(time.strftime('%Y-%m-%d %H:%M:%S'))

提交脚本需要用到mpi

bash 复制代码
mpiexec -n cpu_number python your_job_name.py
相关推荐
财经资讯数据_灵砚智能几秒前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月2日
人工智能·python·信息可视化·自然语言处理·ai编程
li167090270几秒前
第二十五章:C++11(下)
c语言·开发语言·数据结构·c++
lsx2024061 分钟前
DOM 改变节点
开发语言
时空系8 分钟前
第8篇:结构模板——自定义数据类型 Rust中文编程
开发语言·网络·rust
qyzm10 分钟前
Codeforces Round 1073 (Div. 2)
数据结构·python·算法
yuweiade11 分钟前
GO 快速升级Go版本
开发语言·redis·golang
lly20240613 分钟前
SOAP Body 元素
开发语言
JK Chen17 分钟前
faster_whisper,视频转文字,并生成字幕文件
python·whisper·音视频
咸鱼2.02 小时前
【java入门到放弃】Dubbo
java·开发语言·dubbo
做怪小疯子8 小时前
华为笔试0429
python·numpy