cuda cupti
cupti : CUDA profiling tools interface
搭建面向 CUDA 应用的 profiling 和 tracing 工具
CUDA dynamic parallelism : CDP
CUPTI 提供四种 API :
- activity api
- callback api
- event api
- metric api
CUPTI 在第一次调用 CUPTI 函数时懒惰初始化cuptiSubscribe()
: 最先调用,防止多个 CUPTI client 互相干扰
目前理解:CUPTI 分为 用户端 和 服务端, 服务端记录 CUDA 设备和 CPU 上产生的事件 CUpti_Activity
,储存在 用户端提供的 Activity Buffer 上
CUPTI 不保证 activity 在 activity buffer 中的顺序
用户端 调用 cuptiActivityFlushPeriod
和 cuptiActivityFlushAll
CUPTI 创建一个 worker thread,以减少对 application thread 的干扰
activate api
activate record : 记录事件,使用基类 CUpti_Activity
activity buffer : 将 activity record 从 CUPTI 转移到 client
使用 cuptiActivityEnable
或 cuptiActivityEnableContext
初始化
activity kind