跳转至

msptiActivityMemcpy

msptiActivityMemcpy为Activity Record类型MSPTI_ACTIVITY_KIND_MEMCPY对应的结构体,用于上报Memcpy Activity信息,定义如下:

typedef struct PACKED_ALIGNMENT {
    msptiActivityKind kind;    // Activity Record类型MSPTI_ACTIVITY_KIND_MEMCPY
    msptiActivityMemcpyKind copyKind;    // 内存拷贝操作的类型(如HTOD/Host到Device、DTOH/Device到Host等,详见msptiActivityMemcpyKind枚举)
    uint64_t bytes;    // 内存拷贝操作传输的字节数
    uint64_t start;    // 内存拷贝操作的开始时间戳,单位ns
    uint64_t end;    // 内存拷贝操作的结束时间戳,单位ns
    uint32_t deviceId;    // 内存拷贝操作所在的设备ID
    uint32_t streamId;    // 内存拷贝操作的流ID
    uint64_t correlationId;    // 内存拷贝操作的关联ID,当前为预留字段,暂未生效
    uint8_t isAsync;    // 是否通过异步Memcpy API(如aclrtMemcpyAsync)进行操作,1表示异步,0表示同步
} msptiActivityMemcpy;

当前仅支持采集部分 CANN Runtime 内存拷贝 API,列表如下:

API 说明
aclrtMemcpy 同步内存拷贝
aclrtMemcpyAsync 异步内存拷贝
aclrtMemcpyAsyncWithCondition 带条件的异步内存拷贝
aclrtMemcpyBatch 批量同步内存拷贝
aclrtMemcpyBatchAsync 批量异步内存拷贝
aclrtMemcpy2d 2D同步内存拷贝
aclrtMemcpy2dAsync 2D异步内存拷贝
aclrtMemcpyAsyncWithOffset 带偏移的异步内存拷贝
aclrtMemcpyBatchV2 批量同步内存拷贝(V2版本)
aclrtMemcpyBatchAsyncV2 批量异步内存拷贝(V2版本)