【问题标题】:What is the difference b/w RDMA_CREATE_QP/RDMA_CREATE_EP and IBV_CREATE_QP?黑白 RDMA_CREATE_QP/RDMA_CREATE_EP 和 IBV_CREATE_QP 有什么区别?
【发布时间】:2021-01-29 11:48:45
【问题描述】:

据我了解,IBV_CREATE_QP() 和 RDMA_CREATE_QP 确实做同样的事情。如果我先调用了 ibv_create_qp(),在使用 ibrdmacm API 建立连接时是否还需要调用另一个?

此外,diff b/w 创建 QP 和 EP?

【问题讨论】:

    标签: c infiniband rdma


    【解决方案1】:

    ibv_create_qp() 和 rdma_create_qp() 几乎是一回事。 ibv_create_qp() 返回一个指向创建的队列对的指针,rdma_create_qp() 将创建的队列对分配给id->qp。

    有 Infiniband 动词、IBV 和 RDMA 动词。 RDMA 动词具有许多 Infiniband 动词的等价物。使用 Infiniband 动词,您需要维护一堆单独的指针,队列对指针、指向完成队列的指针、指向保护域的指针等。使用 RDMA 动词,这些都收集在 id 结构下。查看/usr/include/rdma/rdma_cma.h,struct rdma_cm_id {}。

    您仍然可以在 RDMA 动词环境中使用 ibv_create_qp(),但如果您想对 RDMA 动词进行任何进一步的操作,您需要确保使用返回的队列对填充 RDMA id->qp 或RDMA 连接管理器。

    rdma_create_ep,RDMA 创建端点,将少量 RDMA 调用合并为一个调用。其中包括 rdma_create_id()、rdma_create_qp()、rdma_resolve_addr() 和 rdma_resolve_route()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-19
      • 2013-08-23
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 2012-06-14
      相关资源
      最近更新 更多