如何为所有TPU设备从一个TPU设备更改变量?

问题描述

我可以在一个TPU设备中更改变量,以便可以在其他TPU设备上更改它吗?

我尝试了以下方法

!pip install cloud-tpu-client==0.10 https://storage.googleapis.com/tpu-pytorch/wheels/torch_xla-1.6-cp36-cp36m-linux_x86_64.whl
import torch
import torch_xla.core.xla_model as xm
a=torch.tensor([2],device=torch.device("cpu"))
def tr(rank,flags):
  device = xm.xla_device()  
  global a
  if xm.is_master_ordinal():
    a=torch.tensor([3],device=torch.device("cpu"))
  xm.rendezvous('download_only_once')
  b = a.to(device)
  print(b)

import torch_xla.distributed.xla_multiprocessing as xmp
flags={}
xmp.spawn(tr,args=(flags,),nprocs=8,start_method='fork')

它不起作用:该变量在其他设备上未更改。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)