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,则忽略此字段