通过CCE AI套件(NVIDIA GPU)插件安装的驱动,执行编解码任务时失败
问题现象
在使用以下版本的CCE AI套件(NVIDIA GPU)插件安装驱动后,执行编解码任务时可能失败,并报错 “Cuda Encode error: ......”。
- 集群版本为v1.27及以下时,插件版本在2.2.1以下。
- 集群版本为v1.28及以上时,插件版本在2.8.1以下。
问题原因
上述问题可能是当前Pod所在的GPU节点中缺少10_nvidia.json文件造成的。您可以通过以下步骤进行排查:
- 登录对应的GPU节点。
- 执行以下命令,查看/usr/share/glvnd/egl_vendor.d/10_nvidia.json是否存在。
ls /usr/share/glvnd/egl_vendor.d/10_nvidia.json
回显结果如下,则说明不存在。
ls: cannot access '/usr/share/glvnd/egl_vendor.d/10_nvidia.json': No such file or directory
解决方法
如果对应的GPU节点中缺少10_nvidia.json文件,则需要先将CCE AI套件(NVIDIA GPU)插件版本升级至2.8.1或2.2.1及以上,再重启对应的节点,以重置驱动。对GPU节点进行重启操作之前,建议对其进行排水操作,避免对业务产生影响。
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧导航栏中选择“插件中心”,在右侧找到CCE AI套件(NVIDIA GPU)插件,并单击“升级”。在“升级插件”页面上方,单击“插件版本”,选择需要升级的版本。
所有参数配置完成后,在右下角单击“确定”。待插件状态由“升级中”变为“运行中”,则说明插件升级成功。
- 依次进行以下操作,重启目标GPU节点。重启GPU节点之前建议排空节点中的Pod,详情请参见节点排水。在对某个GPU节点进行排水时,请在其他节点中预留足够的GPU资源,以满足节点排空过程中的Pod调度需求,防止资源不足导致Pod调度失败,从而影响业务运行。
- 在集群左侧导航栏中,单击“节点管理”,切换至“节点”页签,找到目标GPU节点。
- 单击GPU节点名称,跳转到ECS界面,在右上角单击重启。GPU节点完成重启后,需要等待5~10分钟,等待驱动重置。
- 登录节点检查/usr/share/glvnd/egl_vendor.d/10_nvidia.json是否存在。
ls /usr/share/glvnd/egl_vendor.d/10_nvidia.json
如果文件存在,将输出路径。