问题标签 [rdma]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 如何在 Azure 上使用 RDMA
我在Azure上购买了1台H16r虚拟机,在“关于H系列和计算密集型A系列VMs ”上尝试了RDMA的设置方法:</p>
正如 azure 官方介绍的那样:“该接口允许支持 RDMA 的实例通过InfiniBand网络相互通信,H16r 和 H16mr 虚拟机以FDR速率运行,A8 和 A9 虚拟机以 QDR 速率运行。”
所以H16r风格使用Infiniband技术是对的,但是通过azure-cli安装rdma驱动后我仍然无法在H16 VM内部找到IB接口!
azure - 如何:带有 Infiniband 的 Azure OpenMPI - Linux
我是使用 Microsoft Azure 进行科学计算的新手,在设置时遇到了一些问题。
我有一个跳转盒设置,它充当我想要使用的软件的许可证服务器,还有一个公共驱动器来存储所有软件。还设置了 6 个计算节点(16 个核心/节点),我可以毫无问题地从跳转盒“ssh”到计算节点。跳转盒和计算节点使用 CentOS 和 OpenMPI 1.10.3
我创建了一个脚本,该脚本存储在已安装的跳转盒驱动器上,我通过“clusRun.sh”在每个计算节点上运行该驱动器,它设置了特定于我运行的软件和 OpenMPI 的所有环境变量。希望这一切听起来都很好。
过去我在 Linux 集群上使用过这个软件很多,没有问题。作业是使用类似的命令提交的,例如:
mpirun -np XXX -hostfile XXX {软件路径}
其中 XXX 是处理器的数量和主机文件的路径
我在跳转框上运行这个命令,并且主机文件有一个每个计算节点的名称列表,每个计算节点名称在主机文件中的次数与我想要在节点上的核心相同。希望这是有道理的!跳转框节点上运行的作业没有进程,它仅用于启动作业。
当我尝试以这种方式运行作业时,我收到了许多错误,大多数似乎与 Infiniband 相关。以下是关键错误的简短列表:
“至少一对 MPI 进程无法相互进行 MPI 通信。这意味着没有 Open MPI 设备表明它可以用于在这些进程之间进行通信”
是否有任何特定于 OpenMPI 的环境变量需要设置来定义任何 Infiniband 设置?我已经定义了常用的 MPI_BIN、LD_LIBRARY_PATH、PATH 等。我知道 IntelMPI 需要额外的变量。
Infiniband 应该是 A9 HPC 分配的一部分,但我不确定它是否需要任何特定设置。当我运行“ifconfig -a”时,没有特定于 Infiniband 的条目(我希望看到 ib0、ib1 等)。我只有 eth0、eth1 和 lo
我期待有人可能提供的任何建议。
亲切的问候!
cuda - GPU 和远程主机之间的 RDMA
是否可以在 GPU 和远程主机之间执行 RDMA 操作?
Nvidia 网站上的在线文档仅讨论了在 GPU 之间进行 RDMA,并没有提到在 GPU 主机之间进行此操作的可能性。
注意:我可以访问配备 K80 GPU 和 Mellanox NIC 的集群。
c++ - 如何使用 rsocket 进行开发
我正在尝试在 infiniband 上使用 RDMA 作为应用程序的一部分。我发现 rsocket 看起来像是 RDMA 的有用 API。但是我正在尝试使用它,但我不知道我应该链接哪个库。我已经很好地包含了 rdma/rsocket.h。
我是一个 C++ 菜鸟,但我的理解是我也需要用 -l 链接一个库,但不知道 rsocket 甚至使用了什么库。
结果是
kernel-module - 在 Linux 内核模块中为 RDMA 注册大缓冲区
我是一个新手,在内核模块中使用 rdma (ib_verbs) 试验一个项目。我从 krping 获得了示例代码并对其进行了修改。该系统在 64 位 Linux Centos 上运行,带有自定义 3.10 Linux 内核,需要禁用透明大页。我想要一个大的(4GB 以上)RDMA 读/写空间,它不必是连续的,因为我很可能一次从远程方最多写/读 1MB(随机访问)。
问题:
- 我应该只做一千次 4MB kmalloc 并注册 DMA 区域吗?使用kmalloc而不是vmalloc分配大块内存的设计明智吗?我听说不应该这样做,大内存只能通过vmalloc检索。但是来自 vmalloc 的地址不适合 DMA。
- 如果不是,那么拥有一个可以从远程方随机访问的 4GB 缓冲区的另一种好方法是什么?
- 用户空间 rdma 如何管理这种缓冲区?我记得我只 malloc 4GB 的内存并调用 ibv_reg_mr 并且它可以使用了。
infiniband - NVMoF:如何从响应胶囊中区分命令胶囊
假设我在 2 个节点 A 和 B 之间有 RoCEv2 流量。
- A 使用 RDMA_SEND 向 B 发送命令胶囊。
- 然后 A 从 B 接收一个胶囊(B 也使用 RDMA_SEND)。此时,A 怎么知道这是对其在步骤#1 中发送的命令的响应,还是来自 B 的新命令包?您知道,命令和响应之间的解码将完全不同。
谢谢。
rdma - 如何使用英特尔的 IMB 基准测试两个节点之间的 RDMA 性能
您好,我是使用 RDMA 基准测试工具的新手,目前正在尝试使用英特尔的 IMB 基准测试 https://software.intel.com/en-us/articles/intel-mpi-benchmarks
目前,测试了文档中的所有示例。
但是,我不知道如何使用两个节点来测试性能。这真的很明显吗?
唯一提到使用两个节点的例子是
但是绝对没有关于节点信息的描述。
任何熟悉使用此类基准测试的人,我都非常感谢您的回答。
rdma - CEE和RoCE有什么关系,iWarp
我试图有一个关于 CEE、RoCE、iWarp、RDMA 等的文档。我搜索并发现 CEE 是 Convergence Enhanced Ethernet 的缩写,它包括 802.1Qbb、802.1Qau、802.1Qaz 标准。我可以将 RoCE 和 iWarp 视为 CEE 标准的实现,还是 CEE 包括 RoCE、iWarp?另一个问题是 RDMA 的最新标准或技术是什么?
真的需要这些信息的帮助。提前致谢。
c - RDMA - ibv_post_send 如何知道 CQ?
我正在尝试学习 RDMA。
我的问题是,在执行ibv_post_send时,我应该在完成队列上获得一个完成事件。但是ibv_post_send怎么知道到哪个完成队列呢?从我在这里看到的情况来看,我可以创建许多.
azure - InfiniBand RDMA
我正在尝试在 Azure 上的 A8 机器上使用 InfiniBand。实际上,乒乓测试工作正常,但是我不能运行一个简单的基于 RDMA 的程序。我可以通过 ibv_get_device_list(NULL) 找到设备,但无法通过 ibv_open_device() 打开它。所有基于 RDMA 的应用程序都必须使用英特尔 MPI,这是真的吗?
谢谢,