首页 > 解决方案 > 错误:tensorflow/contrib/nccl/kernels/nccl_manager.cc:273 检查失败:result==ncclSuccess (2 vs 0)系统错误

问题描述

我正在尝试使用 MirrorStrategy 选项以及 tensorflow estimator API 运行分布式 tensorflow 代码,并得到标题中提到的错误。我正在使用 tensorflow-gpu 1.9.0。我正在关注分布式张量流培训的链接

并得到下面提到的警告和错误:您应该始终使用与您的 NVIDIA 显示驱动程序一起安装的 libnvidia-ml.so 运行。默认情况下,我安装在 /usr/lib 和 /usr/lib64 中。GDK 包中的 libnvidia-ml.so 是一个存根库,仅用于构建目的(例如,您构建应用程序的机器不必安装显示驱动程序)。

标签: python-3.xtensorflowtensorflow-estimator

解决方案


您有可能获得了用于编译的存根库,而您的 LD_LIBRARY_PATH 不包含运行时库的路径。

检查您的库路径是否有“/usr/local/cuda/lib64/stubs”或类似的东西。如果它存在,您只需在库路径中将正确的位置放在它之前。

根据您安装的驱动程序版本,您可能能够在“/usr/lib/nvidia-384”下找到 libnvidia-ml.so 文件,或者找到与您的 nvidia 驱动程序版本匹配的除 384 以外的某个数字。

您可以在 .bashrc 文件中添加一行,如下所示:

export LD_LIBRARY_PATH=/usr/lib/nvidia-(Your driver number here):$LD_LIBRARY_PATH


推荐阅读