执行ascend-dmi命令报错:Failed to load the libdcmi.so dynamic library。

问题现象

使用Ascend DMI工具时报错,提示Failed to load the libdcmi.so dynamic library. Check the environment configuration dependency。

以使用Ascend DMI执行软硬件版本兼容性测试为例,报错显示如下:

1
2
[root@****]# ascend-dmi -c
Failed to load the libdcmi.so dynamic library. Check the environment configuration dependency.

可能原因

解决措施

  1. 执行npu-smi info查看驱动是否安好,如下即为正常:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    [root@****]$npu-smi info
    +--------------------------------------------------------------------------------------------+
    | npu-smi 24.1.rc2.b010                    Version: 24.1.rc2.b010    
    +--------------------------+--------------+--------------------------------------------------+
    | NPU   Name               | Health       | Power(W)   Temp(C)         Hugepages-Usage(page) |
    | Chip  Device             | Bus-Id       | AICore(%)  Memory-Usage(MB)                      |
    +==========================+==============+==================================================+
    | 0     xxxx               | OK           | 9.6        56              15   /15              |
    | 0     0                  | NA           | 0          3398 / 11578                          |
    +==========================+==============+==================================================+     
    

  2. 执行env命令查看环境变量LD_LIBRARY_PATH是否包含驱动driver相关环境变量。
  3. 检查libdcmi.so权限是否正常:

    1
    find /usr/local/Ascend/driver/ -name libdcmi.so
    

    查找libdcmi.so所在位置,再查看对应权限,如果为444即为正常,如果没有找到或权限为其他即为不正常。/usr/local/Ascend/driver/为驱动实际安装路径。

    1
    2
    3
    4
    root@****:~# find /usr/local/Ascend/driver/ -name libdcmi.so
    /usr/local/Ascend/driver/lib64/driver/libdcmi.so
    root@****:~# ll /usr/local/Ascend/driver/lib64/driver/libdcmi.so
    -r--r--r-- 1 root root 447832 May 23 02:59 /usr/local/Ascend/driver/lib64/driver/libdcmi.so