6.100. CUpti_ActivityUnifiedMemoryCounter2
-
struct CUpti_ActivityUnifiedMemoryCounter2
用于统一内存计数器的活动记录 (在 12.8 版本中已弃用)
此活动记录表示一个统一内存计数器 (CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER)。
公共成员
-
CUpti_ActivityKind kind
活动记录类型,必须为 CUPTI_ACTIVITY_KIND_UNIFIED_MEMORY_COUNTER。
-
CUpti_ActivityUnifiedMemoryCounterKind counterKind
统一内存计数器类型。
-
uint64_t value
计数器的值。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD、CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH、CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THREASHING 和 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP,它是内存区域的大小,以字节为单位。
对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT,它是同一页面的页错误组的数量。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT,它是导致错误的指令的程序计数器。
-
uint64_t start
计数器的开始时间戳,单位为纳秒 (ns)。
对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD 和 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH,时间戳在 GPU 上活动开始时捕获。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT 和 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT,时间戳在 CUDA 驱动程序开始处理错误时捕获。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING,时间戳在 CUDA 驱动程序检测到内存区域抖动时捕获。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING,时间戳在 CUDA 驱动程序启动节流操作时捕获。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP,时间戳在 CUDA 驱动程序已将所有必需操作推送到 dstId 指定的处理器时捕获。
-
uint64_t end
计数器的结束时间戳,单位为纳秒 (ns)。
如果 counterKind 是 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT、CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP,则忽略此字段。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD 和 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH,时间戳在 GPU 上活动完成时捕获。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT,时间戳在 CUDA 驱动程序将导致错误的内存访问重新排队到 GPU 上时捕获。对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING,时间戳在 CUDA 驱动程序完成节流操作时捕获
-
uint64_t address
这是正在传输的页面的虚拟基地址。
对于 CPU 和 GPU 错误,这是发生错误的页面的虚拟地址。
-
uint32_t srcId
参与内存传输、页错误、抖动、节流或远程映射操作的源 CPU/设备的 ID。
对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING,它是为争夺内存区域而竞争的设备 ID 的按位 OR 运算。如果 counterKind 是 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT,则忽略此字段
-
uint32_t dstId
参与内存传输或远程映射操作的目标 CPU/设备的 ID。
如果 counterKind 是 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT、CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT、CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING,则忽略此字段
-
uint32_t streamId
导致传输的流的 ID。
此字段的值无效。
-
uint32_t processId
此记录所属进程的 ID。
-
uint32_t flags
与此记录关联的标志。
如果 counterKind 是 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT,请参阅枚举 CUpti_ActivityUnifiedMemoryAccessType;如果 counterKind 是 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD,请参阅 CUpti_ActivityUnifiedMemoryMigrationCause;如果 counterKind 是 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP,请参阅 CUpti_ActivityUnifiedMemoryRemoteMapCause;如果 counterKind 是 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING,请参阅 CUpti_ActivityFlag
-
uint32_t pad
未定义。
为内部使用保留。
-
CUpti_ActivityKind kind