35

我喜欢 40Gbit/s 网络的 InfiniBand 承诺。我的需求不会映射到具有一个核心节点 + 从属的 MPI 模型上,如果可能的话,我宁愿根本不使用 MPI。我需要简单的连接/发送/接收/关闭(或其异步版本)API。然而,阅读 MS Azure 文档或 Microsoft HPC Pack文档,我找不到任何允许使用 InfiniBand 作为我的应用程序传输的 C/C++ 或 .Net API。所以我的问题很简单,如何使用 InfiniBand 连接到其他节点并向它们发送数据包并在另一端接收?(就像一些 Socket API 或类似的东西)

Azure 上的ND-SPI 或 Azure 上的DAPL-ND 连接/发送/接收/关闭教程是我正在寻找的。

4

2 回答 2

1

我同意 Hristo 的评论,即使用 MPI 提供的更高级别的 API 会更容易,而不是使用“本机”IB 库。
澄清一下,MPI 并没有强加主从。一旦所有流程都启动并有了沟通者,您就拥有了世界上所有的灵活性。任何人都可以向任何人发送数据。使用 MPI 2.0,您可以进行单方面的交流,一个工作人员基本上可以接触到另一个工作人员的记忆。

于 2015-06-12T19:11:38.440 回答
0

...我找不到任何允许使用 InfiniBand 作为我的应用程序传输的 C/C++ 或 .Net API。所以我的问题很简单,如何使用 InfiniBand 连接到其他节点并向它们发送数据包并在另一端接收?

用于直接访问 InfiniBand 的 C API 称为“动词”。

在网上介绍这个话题的众多资源中,我发现http://blog.zhaw.ch/icclab/infiniband-an-introduction-simple-ib-verbs-program-with-rdma-write/比较平易近人。

InfiniBand 软件的最终权威是 OpenFabrics。OFED 网站链接文档和下载。

我注意到在“Windows 的 OFS”下有一个指向Network Direct Kernel Provider Interface (NDKPI) 概述的链接,它可能满足您的需求,但我从未使用过它,因为我不使用 Windows。

于 2015-06-12T20:46:16.507 回答