这是一个相当古老的问题,但也许有人会发现答案很有用。
nvprof输出文件实际上是 SQLite3 数据库,您可以使用独立的 sqlite3 程序或以编程方式打开它。时间线信息在这些表中(所有时间戳都以纳秒为单位):
CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL- 关于内核的数据
CUPTI_ACTIVITY_KIND_MEMCPY- 关于内存副本的数据(非 P2P)
CUPTI_ACTIVITY_KIND_MEMCPY2- 关于 P2P 内存副本的数据
CUPTI_ACTIVITY_KIND_MEMSET- 关于 memset 的数据
CUPTI_ACTIVITY_KIND_RUNTIME- 有关 CUDA 运行时 API 调用的数据
CUPTI_ACTIVITY_KIND_DRIVER- 有关 CUDA 驱动程序 API 调用的数据
CUPTI_ACTIVITY_KIND_MARKER- 有关 NVTX 标记的数据。它的形式与其他表略有不同,因为它没有start和end字段。相反,标记的开始和结束是 2 个条目(结束有name=0)
correlationId您可以使用字段将 API 调用与 kernels/memcopies/memset 关联起来。