- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以在 GPU 和远程主机之间执行 RDMA 操作?
Nvidia 网站上的在线文档仅讨论了在 GPU 之间执行 RDMA,并没有提及在 GPU 主机之间执行此操作的可能性。
注意:我可以访问配备 K80 GPU 和 Mellanox NIC 的集群。
最佳答案
Is it possible to perform an RDMA operation between a GPU and a remote host?
是的,自 2012 年以来,可以使用 Nvidia 计算 GPU(Tesla 和 Quadro)的“GPUDirect RDMA”功能(Kepler 级 GPU 和 CUDA 5.0)在 GPU 和 Infiniband 卡之间移动数据。 CUDA Toolkit中有关于GPUDirect RDMA的网页http://docs.nvidia.com/cuda/gpudirect-rdma/
GPUDirect RDMA is a technology introduced in Kepler-class GPUs and CUDA 5.0 that enables a direct path for data exchange between the GPU and a third-party peer device using standard features of PCI Express. Examples of third-party devices are: network interfaces, video acquisition devices, storage adapters.
GPUDirect RDMA is available on both Tesla and Quadro GPUs.
A number of limitations can apply, the most important being that the two devices must share the same upstream PCI Express root complex. Some of the limitations depend on the platform used and could be lifted in current/future products.
A few straightforward changes must be made to device drivers to enable this functionality with a wide range of hardware devices. This document introduces the technology and describes the steps necessary to enable an GPUDirect RDMA connection to NVIDIA GPUs on Linux.
有一些限制:http://docs.nvidia.com/cuda/gpudirect-rdma/index.html#supported-systems
2.4. Supported Systems
General remarks. Even though the only theoretical requirement for GPUDirect RDMA to work between a third-party device and an NVIDIA GPU is that they share the same root complex, there exist bugs (mostly in chipsets) causing it to perform badly, or not work at all in certain setups.
We can distinguish between three situations, depending on what is on the path between the GPU and the third-party device: PCIe switches only single CPU/IOH CPU/IOH <-> QPI/HT <-> CPU/IOH The first situation, where there are only PCIe switches on the path, is optimal and yields the best performance. The second one, where a single CPU/IOH is involved, works, but yields worse performance ( especially peer-to-peer read bandwidth has been shown to be severely limited on some processor architectures ). Finally, the third situation, where the path traverses a QPI/HT link, may be extremely performance-limited or even not work reliably. Tip:
lspci
can be used to check the PCI topology:$ lspci -t
Platform support For IBM Power 8 platform, GPUDirect RDMA and P2P are not supported, but are not explicitly disabled. They may not work at run-time.
On ARM64, the necessary peer-to-peer functionality depends on both the hardware and the software of the particular platform. So while GPUDirect RDMA is not explicitly disabled in this case, there are no guarantees that it will be fully functional.
IOMMUs GPUDirect RDMA currently relies upon all physical addresses being the same from the different PCI devices' point of view. This makes it incompatible with IOMMUs performing any form of translation other than 1:1, hence they must be disabled or configured for pass-through translation for GPUDirect RDMA to work.
关于cuda - GPU 和远程主机之间的 RDMA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44190665/
我是高性能计算 (HPC) 方面的新手,但我将有一个 HPC 项目,因此我需要一些帮助来解决一些基本问题。 应用场景很简单:通过InfiniBand(IB)网络连接几台服务器,一台服务器做Master
我正在尝试在 Azure 上的 A8 计算机上使用 InfiniBand。实际上,乒乓测试工作正常,但是我无法运行基于 RDMA 的简单程序。我可以通过 ibv_get_device_list(NUL
我正在尝试在 Azure 上的 A8 计算机上使用 InfiniBand。实际上,乒乓测试工作正常,但是我无法运行基于 RDMA 的简单程序。我可以通过 ibv_get_device_list(NUL
我正在为我的应用程序使用 Infiniband 驱动程序的 OFED 3.18r2 实现。特别是我正在使用 rdma 连接管理器包装函数。为了更好地理解幕后发生的事情,我习惯于查看源代码。这样做我发现
infiniband (RDMA) 的最大电缆长度是多少? 例如。这里已经说过,对于四 channel 铜缆可以达到 10 M 。并使用光纤连接电缆,与标准 InfiniBand 4x 和以太网 10
我的问题很简单:如果计算机的CPU / OS发生故障,是否仍可以通过远程计算机的远程直接内存访问(RDMA)使用其内存? 最佳答案 这实际上取决于系统遇到的故障类型。如果操作系统出现故障,则实施RDM
这个问题已经有答案了: How to use GPUDirect RDMA with Infiniband (1 个回答) 已关闭 6 年前。 是否可以在 GPU 和远程主机之间执行 RDMA 操作?
我正在尝试构建 perftest C library通过 RDMA 协议(protocol)运行一些延迟测试。 我的步骤: 我从 their GitHub 下载了库并将其解压缩到我要运行测试服务器的盒
我正在浏览 linux/drivers/net/ethernet/mellanox/mlx4/qp.c 有几个问题。如果有人能澄清一下,我将不胜感激: 函数中,mlx4_qp_alloc_icm, 要
RDMA 是绕过应用程序和操作系统内核之间无用数据拷贝的有效方法。 Mmap 是处理大文件的有效方法,就好像它只是一个字节数组一样。 我正在使用支持进程间 RDMA 网络操作的 Infiniband
我正在尝试构建和运行 RDMA 示例 here .但是因为我只是在探索,所以我没有任何能够管理 RDMA 的硬件。当我尝试运行示例代码时出现这样的错误。 librdmacm: couldn't rea
在我的应用程序中,我使用无限带宽基础设施将数据流从一台服务器发送到另一台服务器。我习惯于通过 infiniband 轻松开发 ip,因为我更熟悉套接字编程。到目前为止,性能(最大带宽)对我来说已经足够
最近人工智能大火,AI 应用所涉及的技术能力包括语音、图像、视频、NLP 等多方面,而这些都需要强大的计算资源支持。AI 技术对算力的需求是非常庞大的,虽然 GPU 的计算能力在持续提升,但是对于 A
我在Azure上购买了1台H16r虚拟机,并在“About H-series and compute-intensive A-series VMs”上尝试了RDMA的设置方法: azure confi
是否可以在不使用 IPoIB 的情况下通过 native InfiniBand 使用 RDMA(仅使用 guid 或 lit)? 我查过Infiniband addressing - host nam
Linux 命令 ibstat 和 ibv_devinfo 的手册页说 ibstat - query basic status of InfiniBand device(s) ibv_devinfo
我的小组(一个名为 Isis2 的项目)正在试验 RDMA。我们对缺乏单方面 RDMA 读取的原子性保证的文档感到困惑。在过去的一个半小时里,我一直在寻找有关这方面的任何信息,但无济于事。这包括仔细阅
我正在尝试学习 RDMA。 我的问题是,在执行 ibv_post_send 时,我应该在完成队列中得到一个完成事件。但是 ibv_post_send 如何知道发送到哪个完成队列?从我在这里看到的情况来
如何在 Windows 下使用 RDMA 将内存块从一台服务器复制到另一台服务器?我们没有 infiniband,但我们有 10gb 网络交换机。我只需要一个例子,但我在谷歌上运气不佳。 编辑: 到目
我有两台机器。每台机器上有多张特斯拉卡。每台机器上还有一张 InfiniBand 卡。我想通过 InfiniBand 在不同机器上的 GPU 卡之间进行通信。只需点对点单播就可以了。我当然想使用 GP
我是一名优秀的程序员,十分优秀!