看懂代码中的pytorch并行计算

torch.multiprocessing.spawn——执行多进程并行任务

1. torch.multiprocessing模块

torch.multiprocessing是pytorch中用于多进程并行计算的模块

2. torch.multiprocessing.spawn方法

用于在多个进程中,并行地执行指定的函数

torch.distributed.lauch/ torchrun不同,这两个是命令行工具,用于并行执行指定的Python脚本

import torch.multiprocessing as mp

mp.spawn(fn, args=(), nprocs=1, join=True, deamon=False, start_method='spawn')

参数:

  • fn:目标函数
  • args: 传递给目标函数地参数,是一个元组
  • nprocs:要启动的进程数量
  • join:是否等待所有进程完成后再返回
  • daemon:如果为True,则子进程会作为守护进程运行
  • start_method:进程启动的方法,可以是‘spawn’,'fork',或'forkserver', 默认是‘spawn’,因为在多GPU场景中更安全

示例:

import torch.multiprocessing as mp

def example(rank, world_size):
    print(f"I am process {rank} of {world_size}")

if __na
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值