问题描述[object Object][object Object]
在Windows系统上使用MindCluster Ascend Deployer工具在线下载OS依赖和软件包,并将软件包上传至待安装环境,在执行安装校验或者安装命令时报错提示“[ERROR]Resources missing detected,please run download operation firstly”或“ERROR: No matching distribution found for ansible-core”。
图 1 报错提示信息1[object Object][object Object]
图 2 报错提示信息2[object Object][object Object]
原因分析[object Object][object Object]
使用[object Object]--os-list[object Object]参数执行下载操作,会自动下载好CANN软件包所需OS依赖,以及Docker软件等,并存放于ascend-deployer/ascend_deployer/resources目录下,但在执行安装命令前,依赖所在文件夹(例如sources、pylibs等)未一同上传至待安装环境。
解决方法[object Object][object Object]
执行安装部署前,需将ascend-deployer整个目录上传到待安装设备的用户家目录。
问题描述[object Object][object Object]
使用MindCluster Ascend Deployer工具安装PyTorch后,执行如下安装后检查命令,报错“ERROR”
报错截图示例:
原因分析[object Object][object Object]
可能原因:模型运行时依赖三方库文件的实际加载顺序受环境中glibc版本、三方库加载时机以及实际依赖库版本等因素影响,部分场景下生成的加载顺序无法顺利触发DTV表(动态线程向量表)的扩容机制,导致DTV表耗尽,触发该问题。
问题定位:
进入/usr/local目录,执行如下命令配置Python环境变量。
[object Object]进入已安装CANN软件包所在目录,执行如下命令配置环境变量,以ascend-toolkit为例。
[object Object]执行如下命令,查看回显。
[object Object]报错“cannot allocate memory in static TLS block”则参考处理。若不是请参考实际报错信息定位解决。
解决方法[object Object][object Object]
使用LD_PRELOAD环境变量指定对报错的单个或多个库文件进行优先加载,并写入~/.bashrc文件。
以运行用户在任意目录下执行vi ~/.bashrc命令,打开[object Object].bashrc[object Object]文件,在文件最后一行后面添加以下内容。
[object Object]执行[object Object]:wq![object Object]命令保存文件并退出。
执行source ~/.bashrc命令使其立即生效。
问题描述[object Object][object Object]
使用MindCluster Ascend Deployer工具在Debian 10操作系统上安装软件包,安装时报错:file docker.service does not exist或docker.service failed because the control process exited。
原因分析[object Object][object Object]
docker安装时异常终止导致安装残留。
解决办法[object Object][object Object]
[object Object][object Object]执行which docker查看二进制目录。如下图,查询到的结果为/usr/bin/docker。
图 1 查看二进制目录[object Object][object Object]
根据查询到的二进制目录,执行以下命令
[object Object]再次执行安装步骤。
问题描述[object Object][object Object]
使用工具执行下载命令,报错提示“download failed with error url open failed, please check the network ,please retry”。
解决方法[object Object][object Object]
下载失败时,请先检查当前环境的网络连接是否正常。
如果网络正常,可能是由于网络不稳定或者服务器异常断连,建议用户重新执行下载命令。若再出现同样的报错信息,用户可修改ascend-deployer/ascend_deployer/downloader/config.ini文件中的pypi项定义的源,替换成其他可用源,再重新执行下载命令。
问题描述[object Object][object Object]
在Windows上使用MindCluster Ascend Deployer工具下载软件包时,下载界面勾选启用代理后使用默认系统代理,下载成功。取消勾选代理后下载失败。
原因分析[object Object][object Object]
可能是Windows代理设置的屏蔽规则有问题,导致所有网址被屏蔽。
Python的urllib组件解析屏蔽规则时,会使用";"号对屏蔽规则进行分割,若出现";"缺失或多余,可能导致分割异常,进而导致所有网址都被屏蔽。
解决办法[object Object][object Object]
手动修改Windows上代理的设置,方法如下。
单击电脑左下角的
图标,单击
,进入Windows设置页面。
单击“网络和Internet”>“代理”,进入代理设置页面。
在代理地址末尾添加";"符号,或者移除";"符号。
单击“保存”后,重新进入MindCluster Ascend Deployer工具的下载界面,启用代理后尝试重新下载。
[object Object]
问题描述[object Object][object Object]
批量安装时,已通过inventory_file文件中的ansible_ssh_pass字段配置了远端服务器账号的密码,但在安装过程中仍提示需输入远端服务器的密码。
图 1 提示输入密码[object Object][object Object]
解决方法[object Object][object Object]
远端服务器的操作系统为openEuler 20.03LTS、openEuler 22.03LTS和CentOS 7.6时,不支持通过配置ansible_ssh_pass字段连接远端服务器。请参考使用SSH密钥认证方式连接。
问题描述[object Object][object Object]
Euler系统作为work节点,安装TensorFlow2.6.5时报错提示“Failed to connect to the host via ssh: Shared connection to XX closed”信息。
原因分析[object Object][object Object]
主机中设置了SSH连接会话超时时间,部署任务的时间若超过了设置的SSH连接会话超时时间,则会报错。
解决方法[object Object][object Object]
修改“/etc/ssh/sshd_config”文件中“ClientAliveInterval”的值为“1800”(超时时间为30分钟),并执行如下命令重启sshd服务。
问题描述[object Object][object Object]
如果系统安装torch后,在导入torch时出现“ImportError: libblas.so.3: cannot open shared object file: No such file or directory”提示信息。
原因分析[object Object][object Object]
系统未安装OpenBLAS依赖,导致这个库不存在。
解决方法[object Object][object Object]
执行如下安装系统依赖。
[object Object]创建软链接(请以具体的库版本为准)。
执行如下命令查找libopenblas-r0.3.9.so文件(具体显示的版本以实际为准)。
[object Object]执行如下命令创建软链接。
[object Object]
问题描述[object Object][object Object]
如果系统安装torch后,在导入torch时出现“ImportError: libquadmath.so.0: cannot open shared object file: No such file or directory”等提示信息。
原因分析[object Object][object Object]
缺少系统依赖。
解决方法[object Object][object Object]
执行以下命令安装系统依赖。
问题描述[object Object][object Object]
CentOS7.6场景下,自行安装的Python3不完整,导致安装部署失败。
原因分析[object Object][object Object]
CentOS7.6_aarch64操作系统下,用户自行安装的Python3功能不完整,libselinux未安装。MindCluster Ascend Deployer工具进行安装时会优先使用Python3,导致安装失败。
解决办法[object Object][object Object]
重新安装libselinux,完成后在MindCluster Ascend Deployer上执行安装命令,安装成功。
问题描述[object Object][object Object]
使用MindCluster Ascend Deployer工具执行完安装或升级后,执行apt-get check或yum check,报错提示:Error:Check discovered 3 problems或The following packages have unmet dependencies:Depends: gcc-11(=11.2.0-19ubuntu1)but 11.4.0-1ubuntu1~22.04 is to be installed.
原因分析[object Object][object Object]
已安装的软件包存在不同的依赖,且这些依赖关系存在冲突。
解决办法[object Object][object Object]
请勿执行fix_broken类操作,联系华为技术支持定位解决依赖冲突。
问题描述[object Object][object Object]
如果在安装了run包的环境直接升级内核,再次重启时环境会出现启动异常,如所示。如果后续在该环境上再安装run包也无法使用。这是由于安装run包时驱动ko加载到内核,而升级内核版本会触发根文件系统打包,会将原来环境中ko打包到根文件系统,导致启动异常。
图 1 run包不可用[object Object][object Object]
解决方案[object Object][object Object]
手动卸载ko。
查询当前系统存在ko列表。
lsmod|grep drv
将查询到的ko全部卸载,多个ko名字之间需要加空格。两个ko的示例如下(ko1,ko2请用实际ko名称替换)。
rmmod ko1 ko2
打包根文件系统。
dracut --force
重启环境。
reboot