Ich möchte das verteilte Paket in PyTorch für die Punkt-zu-Punkt-Kommunikation zwischen zwei Rängen verwenden. aber AusfPython

Python-Programme
Guest
 Ich möchte das verteilte Paket in PyTorch für die Punkt-zu-Punkt-Kommunikation zwischen zwei Rängen verwenden. aber Ausf

Post by Guest »

Code: Select all

def runTpoly(rank, size, pp, cs, pkArithmetics_evals,
pkSelectors_evals, domain):

init_process(rank, size)
group2 = torch.distributed.new_group([1,2])
if rank == 0:
device = torch.device(f"cuda:{rank}")
wo_eval_8n = torch.ones(SCALE * 8 * 1, 4, dtype=torch.int64, device='cuda')

if rank == 1:
wo_eval_8n = torch.ones(SCALE * 8 * 10, 4, dtype=torch.int64, device='cuda')
wo_eval_8n=wo_eval_8n+wo_eval_8n
send(wo_eval_8n, 2)
if rank == 2:
wo_eval_8n = torch.ones(SCALE * 8 * 10, 4, dtype=torch.int64, device='cuda')
print(wo_eval_8n.size())
recv(wo_eval_8n,1)
print(wo_eval_8n)
if rank == 3:[enter image description here](https://i.sstatic.net/M6FMng1p.png)
wo_eval_8n = torch.ones(SCALE * 10 * 10, 4, dtype=torch.int64, device='cuda')
print(wo_eval_8n.size())
# 清理进程组
dist.destroy_process_group()

if __name__ == "__main__":

world_size = 4  # GPU数目
print(torch.__file__)
pp, pk, cs = load("/home/whyin/data/9-data/")
domain= Radix2EvaluationDomain.new(cs.circuit_bound())
spawn(runTpoly, args=(world_size,pp,cs,pk.arithmetics_evals,pk.selectors_evals,domain), nprocs=world_size, join=True)
Ich möchte eine Punkt-zu-Punkt-Kommunikation zwischen Rang 1 und Rang 2 durchführen, aber der folgende Fehler tritt auf. Ich habe jedoch bereits überprüft, dass in meinem Code alle Ränge mit Rang 0 kommunizieren können. Außerdem ist die Topologiestruktur meiner GPUs eine vollständig verbundene Struktur mit vier GPUs, und es gibt keine Situation, in der sie nicht physisch verbunden werden können . mein Pytorch ist 2.0
Image

Code: Select all

RuntimeError: [2] is setting up NCCL communicator and retrieving ncclUniqueId from [0] via c10d key-value store by key '1:2', but store->get('1:2') got error: Connection reset by peer
Exception raised from recvBytes at /home/whyin/pnp_new/PNP/torch/csrc/distributed/c10d/Utils.hpp:616 (most recent call first)
Ich möchte eine Kommunikationsgruppe erstellen, finde aber, dass die Kommunikation auf diese Weise immer noch nicht möglich ist. Ich hoffe, eine direkte Kommunikation zwischen zwei Rängen zu erreichen, ohne über Rang 0 zu gehen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post