我对tensorflow 1.15中的RDMA支持感兴趣,因为工人和参数服务器无需通过CPU直接通信。我没有infiniband谓词设备,但可以从源构建tensorflow并支持谓词
bazel build --config=opt --config=cuda --config=verbs //tensorflow/tools/pip_package:build_pip_package在sudo yum install libibverbs-devel之后-7点。但是,在pip安装了构建的软件包之后,通过
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg && pip install /tmp/tensorflow_pkg/tensorflow-1.15.0-cp36-cp36m-linux_x86_64.whl,由于以下错误,我的培训失败了:
F tensorflow/contrib/verbs/rdma.cc:127] Check failed: dev_list No InfiniBand device found这是预期的,因为我没有infiniband硬件在我的机器上。但是,如果我的工作不是跨机运行,而是在单机上运行,那么我真的需要infiniband吗?我只想测试RDMA是否能显着地加快基于参数服务器的培训。谢谢。
发布于 2020-07-20 20:09:19
但是,如果我的工作不是跨机运行,而是在一台机器上运行,那么我真的需要Infiniband吗?
不,你似乎误解了什么是RDMA实际上是。RDMA ("GPUDirect")是第三方设备(如网络接口和存储适配器)通过PCI总线直接写入GPU内存的一种方式。它旨在改进像计算集群这样的多节点性能。它与单个节点(“对等点”)中的多GPU操作无关,即连接到一个节点的GPU可以直接访问另一个节点的内存,而无需访问主机CPU。
https://stackoverflow.com/questions/63001944
复制相似问题