【问题标题】:Can we check GPU memory usage inside a CUDA kernel? [closed]我们可以检查 CUDA 内核中的 GPU 内存使用情况吗? [关闭]
【发布时间】:2014-04-04 10:49:02
【问题描述】:

我想在执行CUDA 内核时检查设备上的可用内存cuMemGetInfo(&free, &total) 是一个基于主机 (CPU) 的命令,可在设备上提供空闲内存。

但是有没有办法在执行期间检查CUDA 内核代码中的空闲内存?

【问题讨论】:

  • 你为什么需要它?你是在内核中分配内存吗?
  • 不,我没有在内核中分配内存。我只想检查内核执行期间的内存消耗。因为我的输入数据非常小,所以执行速度非常快,因此我无法使用 nvidia-smi 等命令或使用普通 API 即时检查使用情况。
  • 好吧,在运行内核之前,您可以使用cudaMemGetInfo 访问内存使用情况,如果您的内核没有改变分配的内存量,我真的不明白为什么会这样对你来说不够好。
  • 为什么不使用 CUDA Visual Profiler?它提供了有关内核执行的详细信息。

标签: memory cuda gpu gpgpu profiler


【解决方案1】:

使用分析器 - NVIDIA Visual Profiler 是一种跨平台性能分析工具,可为开发人员提供重要反馈,以优化 CUDA C/C++ 应用程序。

Visual Profiler 于 2008 年首次推出,支持自 2006 年以来在 Linux、Mac OS X 和 Windows 上出货的所有 3.5 亿多台支持 CUDA 的 NVIDIA GPU。

NVIDIA Visual Profiler 作为 CUDA 工具包的一部分提供。

请参阅用户指南Here

【讨论】:

    猜你喜欢
    • 2012-02-17
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 2023-03-23
    • 2016-06-17
    • 1970-01-01
    • 2017-10-15
    相关资源
    最近更新 更多