Oh I see, you need to use the inplace add_, sth like:
import os
import torch
from torch import nn
import torch.distributed as dist
import torch.multiprocessing as mp
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(torch.__version__)

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.out = nn.Linear(in_features=5, out_features=1)

    def forward(self, t):
        # output
        t = self.out(t)
        return t


def addNet(model):
    for para in model.parameters():
        tmp = torch.ones_like(para.data)
        with torch.no_grad():
            para.add_(tmp)
            print(para.data)

if __name__=="__main__":
    mp.set_start_method('spawn')

    torch.manual_seed(101)
    model = Net()
    model.share_memory()
    for para in model.parameters():
        print(para.data)

    num_processes = 2
    processes = []
    for rank in range(num_processes):
        p = mp.Process(target=addNet, args=(model, ))
        p.start()
        processes.append(p)

    for p in processes:
        p.join()


    for para in model.parameters():
        print(para.data)