问题标签 [infiniband]
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.
mpi - 玩具程序使用 OpenMPI 1.6 失败,但可与 Mvapich2 一起使用
我试图弄清楚为什么我的 OpenMPI 1.6 版本不起作用。我在 CentOS 6.6 上使用 gcc-4.7.2。给定一个玩具程序(即 hello.c)
并编译mpicc hello.c
和运行mpirun -np 8 ./a.out
,我得到错误:
如果我使用 mvapich2-2.1 和 gcc-4.7.2 运行它,我就Hello World from Task N
没有任何这些错误/警告。
查看链接到的库a.out
,我得到:
如果我用 mvapich2 重新编译它,
这里有什么问题?这是由于在 openmpi 案例中未链接到 infiniband 库吗?
performancecounter - 如何对端口计数器使用示例控制
我想监控 IB 结构中的端口。
我碰巧在 perfquery 中注意到一些计数器,例如滴答声和端口采样。它将非常适合准确监控。但我找不到一些关于设置和使用 IB 端口采样控制的信息。
如何配置和使用 IB 端口的采样控制?谁能给我文档/链接或示例?我在 Google 中找不到它。这种采样模式采集的数据量有什么限制吗?
谢谢你的时间
c - 在 linux 中删除 ib_ipoib 驱动程序
我想构建一个我自己的 RDMA 驱动程序模块,它与ipoib
. 我的 HCA 卡有2 ports 0 and 1
,我认为 IPoIB 驱动程序使用这两个端口作为ib0
和ib1
.
由于 ipoib 驱动程序使用这两个端口,我认为我的 RDMA 模块无法使用内核IB 访问层使用这两个端口。所以我需要删除 ipoib 驱动程序,以便这两个端口被释放并可以免费使用。
每当我尝试ib_ipoib
使用从 linux 内核中卸载或删除驱动程序时
rmmod ib_ipoib
命令实际上没有任何反应,并lsmod
表明该模块ib_ipoib
仍然存在。
我应该怎么做才能删除此 IPoIB 驱动程序模块或完全不需要删除 IPoIB 驱动程序?
memory - 没有足够的锁定内存(rdma_setup_startup_ring:无法创建 cq)
我在 CentOS 7 上锁定的页面中的可用内存量存在问题。使用slurm分配节点后,当我使用 MPI (mvapich) 启动作业时,遇到以下错误:
这似乎是由于缺少锁定的内存。但是,它似乎设置为无限制,因为ulimit -a
返回:
使用 sudo启动mpirun
时,它正在工作。
linux-kernel - 无法使用 ib_create_qp 创建队列对
我正在编写一个 RDMA (InfiniBand) 内核模块。
到目前为止,我已经成功创建了保护域、发送和接收队列的完成队列。
但是,每当我尝试通过调用 ib_create_qp 创建队列对时,都无法创建队列对。我写的代码如下所示:
此处所有查询都有效,但ib_create_qp(mypd,&init_qpattr);
无法创建队列对的查询除外。
更新:在创建队列对之前注册内存。但它仍然显示 ib_create_qp 的无效参数错误(错误代码 -22)
infiniband - Infiniband 和 RDMA 的区别
linux命令的手册页ibstat
并ibv_devinfo
说
在这种情况下, Infiniband 设备和RDMA 设备有什么区别?在什么情况下,这两个命令的输出是否不同(即它们在设备输出列表中不同)?
linux-kernel - 是否可以在内核模块中使用 RDMA Mellanox 库?
我想开发一个能够发送/接收 RDMA 消息的内核模块。我想知道是否可以从内核空间调用 Mellanox 库。
我可以从内核模块调用 Mellanox RDMA 函数吗?
答:我这里有一些工作代码:https ://github.com/jcarreira/disag-firebox
infiniband - 在 RDMA 中创建多个队列对
我是 RDMA 编程的新手。我的工作流程如下。
看来我只能以这种方式为每个连接的客户端 ID 创建一个队列对。如果我想创造更多,我应该怎么做?
linux - 如何通过 RDMA(Infiniband)从 KVM 代码中向另一个 KVM 实例发送消息?
我正在尝试在两个KVM实例之间设置RDMA 通道。我想在 hypervisor 内部使用RDMA (Infiniband) Verbs API在两个实例之间发送一个简单的字符串。我不想在用户空间上做任何事情——应该涉及纯粹的内核空间。
我遇到了 Verbs API 的示例代码,但这仅与用户空间相关。有人可以指点我一些示例代码吗?
(理想情况下,我希望从页面错误处理程序内部执行此操作,但示例代码可能不会特定于它在管理程序中插入的位置,因此这只是额外的信息。)
gpgpu - 在最近的 Xeon 处理器上嵌入的 PCIe 3.0 控制器上如何管理通道?
我正在使用几个 PCIe 3.0 扩展卡(GPU 和 Infiniband 互连)。我想知道如何实际管理通道,以及是否可以通过更改端口或使用某些适配器(16x -> 8x)来优化我的设备。Intel Haswell-EP可以管理40 条 PCIe 3.0 通道。在 Intel 的原理图中,PCIe 3.0 控制器似乎分为两个 x16 和一个 x8 子桥。
在 Haswell-EP CPU 的一些商业原理图中,我们可能会读到:
多达 40 个 PCIe Gen3 通道 2x16 + 1x8 到 3x8 图形。
是否所有设备都连接到主 PCIe 桥(以及为每个设备自动协商的通道数量),或者主板是否将设备直接连接到所谓的 3 个子桥16x、16x和8x之一(然后协商通道数量对于每个子桥)?
我无法直接访问主板以查看设备是如何连接的,但我怀疑没有使用所谓的 8x 子桥的通道。另外,我想知道通过使用 16x 到 8x 适配器,我是否可以利用更多通道并增加我的总 PCIe 带宽(即使该设备的最大理论带宽也将除以 2)。
[编辑]
我为一个 CPU 插槽获得的示例lstopo
: