7.62. CUpti_ActivityMemcpy6#

struct CUpti_ActivityMemcpy6#

The activity record for memory copies.

This activity record represents a memory copy (CUPTI_ACTIVITY_KIND_MEMCPY).

Public Members

CUpti_ActivityKind kind#

The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMCPY.

uint8_t copyKind#

The kind of the memory copy, stored as a byte to reduce record size.

uint8_t srcKind#

The source memory kind read by the memory copy, stored as a byte to reduce record size.

uint8_t dstKind#

The destination memory kind read by the memory copy, stored as a byte to reduce record size.

uint8_t flags#

The flags associated with the memory copy.

uint64_t bytes#

The number of bytes transferred by the memory copy.

uint64_t start#

The start timestamp for the memory copy, in ns.

A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory copy.

uint64_t end#

The end timestamp for the memory copy, in ns.

A value of 0 for both the start and end timestamps indicates that timestamp information could not be collected for the memory copy.

uint32_t deviceId#

The ID of the device where the memory copy is occurring.

uint32_t contextId#

The ID of the context where the memory copy is occurring.

uint32_t streamId#

The ID of the stream where the memory copy is occurring.

uint32_t correlationId#

The correlation ID of the memory copy.

Each memory copy is assigned a unique correlation ID that is identical to the correlation ID in the driver API activity record that launched the memory copy.

uint32_t runtimeCorrelationId#

The runtime correlation ID of the memory copy.

Each memory copy is assigned a unique runtime correlation ID that is identical to the correlation ID in the runtime API activity record that launched the memory copy.

uint32_t pad#

Undefined.

Reserved for internal use.

void *reserved0#

Undefined.

Reserved for internal use.

uint64_t graphNodeId#

The unique ID of the graph node that executed this memcpy through graph launch.

This field will be 0 if the memcpy is not done through graph launch.

uint32_t graphId#

The unique ID of the graph that executed this memcpy through graph launch.

This field will be 0 if the memcpy is not done through graph launch.

uint32_t channelID#

The ID of the HW channel on which the memory copy is occurring.

CUpti_ChannelType channelType#

The type of the channel.

uint8_t isDeviceLaunched#

This field is used to indicate if the memcpy operation is part of a device graph launch.

uint8_t pad2[3]#

Reserved for internal use.

uint64_t copyCount#

The total number of memcopy operations traced in this record.

This field is valid for memcpy operations happening using MemcpyBatchAsync APIs in CUDA. In MemcpyBatchAsync APIs, multiple memcpy operations are batched together for optimization purposes based on certain heuristics. For other memcpy operations, this field will be 1.