gpt4 book ai didi

cuda - GPUDirect Peer 2 peer using PCIe bus : If I need to access too much data on other GPU, 不会导致死锁吗?

转载 作者:行者123 更新时间:2023-12-04 18:05:23 27 4
gpt4 key购买 nike

我有一个需要大量数据的模拟程序。我将数据加载到 GPU 中进行计算,数据中存在很多依赖性。由于 1 个 GPU 不足以处理数据,所以我将其升级为 2 个 GPU。但限制是,如果我需要其他 GPU 上的数据,必须先有一个副本到主机。

那么,如果我使用 GPU Direct P2P,PCI 总线是否会处理 GPU 之间那么多的来回通信?不会导致死锁吗?

我是新手,所以需要一些帮助和见解。

最佳答案

PCI Express 在两个方向上都是全速的。不应出现“死锁”,就像您在需要握手才能继续进行的同步 MPI 通信中可能遇到的那样。

正如 Robert 在评论中提到的“通过 PCIE 总线访问数据比从板载内存访问数据要慢得多”。但是,它应该比将数据从 GPU1 传输到 CPU,然后从 CPU 传输到 GPU2 快得多,因为您不必复制两次。

您应该尽量减少 GPU 到 GPU 的传输量,特别是如果您必须在同步数据之前同步数据(在某些算法中可能会发生)。但是,您也可以尝试在传输数据时进行一些并发执行。您可以查看 CUDA C 指南的对等内存部分。 http://docs.nvidia.com/cuda/cuda-c-programming-guide/#peer-to-peer-memory-copy

关于cuda - GPUDirect Peer 2 peer using PCIe bus : If I need to access too much data on other GPU, 不会导致死锁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com