6.101. CUpti_ActivityUnifiedMemoryCounter3
-
struct CUpti_ActivityUnifiedMemoryCounter3
用于统一内存计数器的活动记录 (CUDA 7.0 及更高版本)
此活动记录表示一个统一内存计数器 (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
计数器的开始时间戳,以纳秒为单位。
对于 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
计数器的结束时间戳,以纳秒为单位。
如果 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 运算,仅当设备少于 32 个时才这样。如果 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
未定义。
保留供内部使用。
-
uint64_t processors[5]
参与操作的设备的位掩码。
对于 counterKind CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THRASHING,它是争夺内存区域的设备 ID 的按位 OR 运算。processors[0] 表示设备 0 到设备 63 的设备 ID,processors[1] 表示设备 64 到设备 127 的设备 ID,依此类推。如果 counterKind 为 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_CPU_PAGE_FAULT_COUNT 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_PAGE_FAULT 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_THROTTLING 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_REMOTE_MAP 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_HTOD 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_BYTES_TRANSFER_DTOH 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_DTOD 或 CUPTI_ACTIVITY_UNIFIED_MEMORY_COUNTER_KIND_GPU_FAULT_REPLAY,则忽略此字段
-
CUpti_ActivityKind kind