开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

在机器学习PAI偶发程序coredump后,gpu没被释放的问题,之前有遇到过吗?

问题1:在机器学习PAI偶发程序coredump后,gpu没被释放的问题,之前有遇到过吗?现象是gpu显存跟coredump前相同,后续程序再启动会被卡住。问题2:按理是的,coredump触发的原因是cuda内存访问越界了,然后gpu就被卡住了,容器重新调度了gpu也不可用。

展开
收起
三分钟热度的鱼 2023-07-04 19:31:31 80 0
2 条回答
写回答
取消 提交回答
  • 问题1:在机器学习PAI中遇到程序coredump后GPU没有被释放的问题是可能会发生的。这种情况可能是由于程序在运行过程中发生了错误,导致GPU资源无法正确释放。

    当程序发生coredump时,GPU显存通常会保持与coredump前相同的状态,这可能导致后续程序启动时卡住。此外,如果GPU被占用且未正确释放,容器重新调度时可能导致GPU不可用。

    要解决这个问题,可以尝试以下几步:

    1. 检查程序错误:首先要确定程序出现coredump的原因。查看相关日志和错误信息,排查代码中可能的问题,例如内存越界、空指针引用等。修复程序中的错误可以防止coredump的发生。

    2. 显式释放GPU资源:在程序中显式释放GPU资源,确保在程序异常退出或发生coredump时能够正常释放GPU显存。使用合适的GPU管理库(如CUDA Runtime API)来管理GPU资源,并在程序退出前调用相应的释放函数。

    3. 容错处理:为了提高系统的稳定性和容错能力,可以在程序层面进行容错处理。例如,使用进程监控工具(如supervisor)来自动重启程序,以防止程序异常退出后导致的GPU资源无法释放的问题。

    问题2:你的理解是正确的,coredump通常是由于CUDA内存访问越界等错误引起的。当这种情况发生时,GPU可能会被卡住并导致后续程序无法正常运行。此外,在容器重新调度时,GPU也可能不再可用。

    为避免这种情况,你应该尽量修复程序中导致coredump的问题,并确保在程序异常退出时正确释放GPU资源。另外,可以使用合适的容错处理和监控机制来提高系统的稳定性和健壮性。

    请注意,具体的解决方法可能因场景而异。如果问题仍然存在且无法解决,建议与机器学习PAI的技术支持团队联系,他们将能够提供更具体和针对性的帮助。

    2023-07-31 18:04:24
    赞同 展开评论 打赏
  • 针对问题1的回答:coredump了程序应该已经退出了,显存也会释放吧。针对问题2的回答:是不是多进程程序,进程没杀干净。此回答整理自钉群“BladeDISC用户支持群”

    2023-07-04 20:57:44
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    DeepStream: GPU加速海量视频数据智能处理 立即下载
    阿里巴巴高性能GPU架构与应用 立即下载
    GPU在超大规模深度学习中的发展和应用 立即下载