两种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
相关推荐
后台开发者Ethan13 分钟前
LangGraph ReAct应用
python·langgraph
星释14 分钟前
Rust 练习册 44:Trait 中的同名函数调用
开发语言·后端·rust
fanruitian16 分钟前
Java 静态代码块
java·开发语言
f***686021 分钟前
问题:Flask应用中的用户会话(Session)管理失效
后端·python·flask
爱吃面条的猿26 分钟前
Python修改pip install 指定安装包的路径和默认镜像源
linux·python·pip
lly20240627 分钟前
SQL CREATE DATABASE
开发语言
饭饭大王66628 分钟前
Python 模块的概念与导入:从基础语法到高级技巧
java·服务器·python
朝九晚五ฺ37 分钟前
深入Rust标准库(std):核心能力与实战指南
开发语言·后端·rust
2013编程爱好者40 分钟前
Rust变量
开发语言·后端·rust
Sunhen_Qiletian1 小时前
python语言应用实战--------网络爬虫篇 第二篇(selenium库)
爬虫·python·selenium