You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置PYTORCH_NO_CUDA_MEMORY_CACHING=1时torch.cuda.memory_allocated()返回0是否为Bug?

问题解答

这不是Bug,是PyTorch的设计行为,原因如下:

  • 当设置PYTORCH_NO_CUDA_MEMORY_CACHING=1时,PyTorch会禁用自身的CUDA内存缓存机制,直接调用CUDA原生的内存分配/释放接口管理显存。
  • torch.cuda.memory_allocated()这个API的作用是统计PyTorch内存缓存系统中已分配给张量的内存,当缓存被禁用后,PyTorch不再追踪这部分内存的分配情况,所以返回0。
  • 但实际GPU显存确实被张量占用了,你可以通过nvidia-smi这类系统级工具查看真实的显存使用量。

简单说:这个API只负责统计PyTorch自己缓存池里的内存,关掉缓存后,显存直接由CUDA接管,PyTorch就不统计这部分了,所以返回0是正常的设计结果,并非Bug。

内容的提问来源于stack exchange,提问作者harsanyidani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 09:44:53