首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GPUDirect总线的PCIe对等点:如果我需要访问其他GPU上的太多数据,它不会导致死锁吗?

使用GPUDirect总线的PCIe对等点:如果我需要访问其他GPU上的太多数据,它不会导致死锁吗?
EN

Stack Overflow用户
提问于 2015-01-08 03:06:02
回答 1查看 607关注 0票数 3

我有一个仿真程序,需要大量的数据。我在GPU中加载数据以进行计算,数据中有很多依赖项。由于1个GPU对数据不够,所以我将其升级为2个GPU。但是限制是,如果我需要其他GPU上的数据,首先必须有一个副本来托管。

那么,如果我使用GPU直接P2P,PCI总线会处理这么多的GPU之间的通信吗?会导致死锁吗?

我是新手,所以需要一些帮助和洞察力。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-08 18:20:41

PCI在两个方向上都有全速。不应该出现“死锁”,就像您在进行同步MPI通信时所经历的那样,这种通信需要在进行之前进行握手。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27832273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档