【问题标题】:How to measure the amount of data copied in NVIDIA nsight systems?如何测量 NVIDIA nsight 系统中复制的数据量?
【发布时间】:2021-02-25 17:59:17
【问题描述】:

琐事

在 NVIDIA Nsight 系统中,您可以使用 --stats=true 标志来获取 GPU 和 CPU 之间数据传输的详细信息。输出包括类似于以下内容的部分:

CUDA Memory Operation Statistics (KiB)

              Total      Operations              Average            Minimum              Maximum  Name                                                                            
-------------------  --------------  -------------------  -----------------  -------------------  -------------------
           8192.000               2             4096.000           4096.000             4096.000  [CUDA memcpy HtoD]                                                              
         528384.000               2           264192.000           4096.000           524288.000  [CUDA memcpy DtoD] 

问题

是否可以获得每个 API 调用的统计信息?也就是说,我们能不能得到每个cudaMemCpyxxx调用中Host/Device之间传输的数据量?

【问题讨论】:

  • 您可以从 GUI 中的时间线视图中获取此信息,但我认为这不是您所要求的。
  • 要从命令行执行此操作,this blog 有“扩展汇总统计信息”中的步骤 1. 导出到 sqlite 数据库 2. 构建适当的数据库查询 3. 利润
  • 谢谢@RobertCrovella。这对我行得通。但 GUI 不显示该信息。你能详细说明一下吗? (我可以获取内核信息,但不能获取 cudaMemcpyxxx

标签: cuda nvidia nsight


【解决方案1】:

如果您想完全通过 CLI 执行此操作,我建议您遵循 this blog 从“扩展摘要统计信息”开始的指导。基本步骤是将配置文件数据导出为 sqlite 数据库,然后制定数据库查询以提取您想要的数据。我承认这不是一个完整的食谱。

如果使用 GUI 是可以接受的,我认为这很简单。假设我们有一个非常简单的 CUDA 程序:

int main(){

        int *d1, *d2;
        int *h1, *h2;
        h1 = new int[8192];
        h2 = new int[262144];
        cudaMalloc(&d1, 32768);
        cudaMalloc(&d2, 1048576);
        cudaMemcpy(d1, h1, 32768, cudaMemcpyHostToDevice);
        cudaMemcpy(d2, h2, 1048576, cudaMemcpyHostToDevice);
}

这些是步骤:

  1. 您可以直接从 GUI 进行交互式分析,如 here 所述,或者您可以从 CLI 开始。要开始使用 CLI,请运行如下命令:

    nsys profile --trace=cuda ./my_app
    

    在其他活动中,这将创建一个名为 reportX.qdrep 的报告文件,其中 X 实际上是一个数字,例如 1、2 或 3 等。

  2. 打开 GUI,然后 File...打开上面的 reportX.qdrep 文件。在这种情况下,GUI 不必在同一台机器上,但它的版本应该大于或等于用于创建报告文件的 CLI 版本。

  3. 完全展开时间轴中与 CUDA 活动相关的所有行

  4. 将鼠标悬停在感兴趣的所需操作上:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2014-12-06
    • 2011-08-11
    • 2012-05-22
    相关资源
    最近更新 更多