GPU内存问题

时间:2016-09-25 05:25:18

标签: memory cuda gpgpu

我有3个关于gpu内存的问题:

  1. 为什么我的应用程序在不同的计算机上使用不同数量的GPU内存(使用不同的图形卡)?

  2. 当我的应用程序GPU上没有足够的内存时会发生什么?可以使用RAM内存吗?谁负责这种内存管理?

  3. 我看到了GPU内存的奇怪行为: 我的应用程序从2.5 / 4 GB GPU内存开始。运行某些功能时,GPU内存达到最大值(4 GB),然后立即降至不合逻辑的值(小于此功能之前分配的值)。 如何解释?

1 个答案:

答案 0 :(得分:1)

  
      
  1. 为什么我的应用程序在不同的计算机上使用不同数量的GPU内存(使用不同的图形卡)?
  2.   

因为GPU不同。 GPU,驱动程序版本和工具包版本之间的代码大小,最小运行时资源要求,页面大小等可能不同。

  
      
  1. 当我的应用程序在GPU上没有足够的内存时会发生什么
  2.   

这完全取决于您的应用程序以及它如何处理运行时错误。但是CUDA运行时只会返回错误。

  
      
  1. 可以使用RAM内存吗?
  2.   

可能,如果您已将应用程序设计为使用它。但是自动,没有

  
      
  1. 谁负责此内存管理?
  2.   

你是。

  
      
  1. 我看到了GPU内存的奇怪行为:我的应用程序以2.5 / 4 GB GPU内存开始。运行某些功能时,GPU内存达到最大值(4 GB),然后立即降至不合逻辑的值(小于此功能之前分配的值)。如何解释?
  2.   

运行时检测到一个不可恢复的错误(就像内核尝试访问无效内存一样,因为先前的内存分配失败)并破坏了应用程序持有的CUDA上下文,释放了与应用程序关联的GPU上的所有资源