这是一个相当古老的问题,但也许有人会发现答案很有用。
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 关联起来。