6.62. CUpti_ActivityMemory4
-
struct CUpti_ActivityMemory4
内存的活动记录。
此活动记录表示内存分配和释放操作 (CUPTI_ACTIVITY_KIND_MEMORY2)。 此活动记录为内存分配和内存释放操作提供单独的记录。 这允许将相应的驱动程序和运行时 API 活动记录与内存操作相关联。
注意:此活动记录是 CUpti_ActivityMemory 的升级版本,后者通过类型 CUPTI_ACTIVITY_KIND_MEMORY 启用。 CUpti_ActivityMemory 为内存分配和内存释放操作提供单个记录。
公共成员
-
CUpti_ActivityKind kind
活动记录类型,必须为 CUPTI_ACTIVITY_KIND_MEMORY2。
-
CUpti_ActivityMemoryOperationType memoryOperationType
用户请求的内存操作,CUpti_ActivityMemoryOperationType。
-
CUpti_ActivityMemoryKind memoryKind
用户请求的内存种类,CUpti_ActivityMemoryKind。
-
uint32_t correlationId
内存操作的相关 ID。
每个内存操作都分配一个唯一的 correlation ID,该 ID 与启动内存操作的驱动程序和运行时 API 活动记录中的 correlation ID 相同。
-
uint64_t address
分配的虚拟地址。
内存池的基地址。
-
uint64_t bytes
分配的内存字节数。
-
uint64_t timestamp
内存操作的起始时间戳,单位为纳秒。
-
uint64_t PC
内存操作的程序计数器。
-
uint32_t processId
此记录所属的进程 ID。
-
uint32_t deviceId
内存操作发生的设备 ID。
-
uint32_t contextId
上下文的 ID。
如果上下文为 NULL,则
contextId
设置为 CUPTI_INVALID_CONTEXT_ID。
-
uint32_t streamId
流的 ID。
如果内存操作不是异步的,则
streamId
设置为 CUPTI_INVALID_STREAM_ID。
-
const char *name
变量名。
此名称在表示同一符号的所有活动记录之间共享,因此不应修改。
-
uint32_t isAsync
如果内存操作通过异步内存 API 发生,则设置
isAsync
。
-
uint32_t pad1
未定义。
保留供内部使用。
-
CUpti_ActivityMemoryPoolType memoryPoolType
内存池的类型,CUpti_ActivityMemoryPoolType。
-
uint32_t pad2
未定义。
保留供内部使用。
-
uint64_t releaseThreshold
内存池的释放阈值,单位为字节。
releaseThreshold
对 CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL 有效,CUpti_ActivityMemoryPoolType。
-
union CUpti_ActivityMemory4::[anonymous]::[anonymous] pool
内存池的大小(以字节为单位)和内存池的 processId。 如果
memoryPoolType
为 CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL,CUpti_ActivityMemoryPoolType,则size
有效。processId
有效 ifmemoryPoolType
is CUPTI_ACTIVITY_MEMORY_POOL_TYPE_IMPORTED, CUpti_ActivityMemoryPoolType
-
uint64_t utilizedSize
内存池的已使用大小。
utilizedSize
对 CUPTI_ACTIVITY_MEMORY_POOL_TYPE_LOCAL 有效,CUpti_ActivityMemoryPoolType。
-
struct CUpti_ActivityMemory4::[anonymous] memoryPoolConfig
用于内存操作的内存池配置。
-
const char *source
内存分配请求来自的共享对象或二进制文件。
-
CUpti_ActivityKind kind