函数计算FC使用GPU实例, 跑网易开源的 emoti-voice 容器, 提示这个,啥原因导致的?[阿里云]

函数计算FC使用GPU实例, 跑网易开源的 emoti-voice 容器, 提示
RuntimeError: CUDA error: no kernel image is available for execution on the device CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 参考下 [已解决]RuntimeError: CUDA error: no kernel image is available for execution on the device

    https://blog.csdn.net/qq_40833391/article/details/128694419

    报错的具体内容不用研究,只要是这个描述的,基本就是重装torch来解决。

  2. 当你在函数计算(FC)的GPU实例上运行网易开源的emoti-voice容器时,遇到“CUDA error: no kernel image is available for execution on the device”错误,这可能是由于以下原因之一:

    1. CUDA版本不兼容:确保你的容器中的CUDA库与你所使用的GPU实例支持的CUDA版本相匹配。你可以通过检查容器内的CUDA版本和FC文档中提供的信息来确认这一点。
    2. 驱动程序问题:确保你的容器内安装了正确的NVIDIA驱动程序,并且该驱动程序与你所使用的GPU实例兼容。如果你使用的是自定义镜像,请确保在Dockerfile中安装了适当的驱动程序。
    3. 显卡型号不支持:某些模型可能不支持特定的GPU实例类型。请查阅FC文档以了解哪些GPU实例类型支持你的模型。

    为了进一步调试这个问题,你可以尝试添加CUDA_LAUNCH_BLOCKING=1环境变量到你的容器中,以便在发生错误时获取更详细的堆栈跟踪信息。例如,在Dockerfile中添加以下行:

    ENV CUDA_LAUNCH_BLOCKING=1

    然后重新构建并运行你的容器。当错误再次出现时,你应该能看到一个更详细的堆栈跟踪,帮助你识别问题所在。

  3. 这个错误提示是因为在函数计算中使用GPU实例运行网易开源的emoti-voice容器时,CUDA内核没有可用的执行设备。这可能是由于以下原因导致的:

    1. 显卡驱动不兼容:请确保您的显卡驱动程序与您的CUDA版本兼容。您可以查看NVIDIA官方网站上的驱动程序下载页面,选择与您的CUDA版本相匹配的驱动程序。

    2. 显卡不支持CUDA:请检查您的显卡是否支持CUDA。您可以在NVIDIA官方网站上查看支持CUDA的显卡列表。

    3. 环境变量设置问题:请确保您已经正确设置了LD_LIBRARY_PATH环境变量,以便系统能够找到CUDA库文件。您可以通过以下命令设置环境变量:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    1. Docker容器配置问题:请检查您的Docker容器配置文件,确保它正确地配置了GPU资源。例如,您可以在Dockerfile中添加以下内容:
    FROM nvidia/cuda:10.0-base-ubuntu18.04RUN apt-get update && apt-get install -y --no-install-recommends     python3-pip     && rm -rf /var/lib/apt/lists/*WORKDIR /appCOPY requirements.txt .RUN pip3 install -r requirements.txtCOPY . .CMD ["python3", "your_script.py"]
    1. 其他原因:如果以上方法都无法解决问题,您可以尝试在其他计算机上运行相同的代码,看看是否能正常运行。如果在其他计算机上也无法正常运行,那么可能是代码本身存在问题。