# CUpti_ActivityMemory Struct Reference
[CUPTI Activity API]

The activity record for memory. More...

## Data Fields
uint64_t | address
uint64_t | allocPC
uint64_t | bytes
uint32_t | contextId
uint32_t | deviceId
uint64_t | end
uint64_t | freePC
CUpti_ActivityKind | kind
CUpti_ActivityMemoryKind | memoryKind
const char * | name
uint32_t | processId
uint64_t | start

## Detailed Description

This activity record represents a memory allocation and free operation (CUPTI_ACTIVITY_KIND_MEMORY). This activity record provides a single record for the memory allocation and memory release operations.

Note: It is recommended to move to the new activity record CUpti_ActivityMemory3 enabled using the kind CUPTI_ACTIVITY_KIND_MEMORY2. CUpti_ActivityMemory3 provides separate records for memory allocation and memory release operations. This allows to correlate the corresponding driver and runtime API activity record with the memory operation.

## Field Documentation

uint64_t CUpti_ActivityMemory::address

The virtual address of the allocation

uint64_t CUpti_ActivityMemory::allocPC

The program counter of the allocation of memory

uint64_t CUpti_ActivityMemory::bytes

The number of bytes of memory allocated.

uint32_t CUpti_ActivityMemory::contextId

The ID of the context. If context is NULL, `contextId` is set to CUPTI_INVALID_CONTEXT_ID.

uint32_t CUpti_ActivityMemory::deviceId

The ID of the device where the memory allocation is taking place.

uint64_t CUpti_ActivityMemory::end

The end timestamp for the memory operation, i.e. the time when memory was freed, in ns. This will be 0 if memory is not freed in the application

uint64_t CUpti_ActivityMemory::freePC

The program counter of the freeing of memory. This will be 0 if memory is not freed in the application

CUpti_ActivityKind CUpti_ActivityMemory::kind

The activity record kind, must be CUPTI_ACTIVITY_KIND_MEMORY

CUpti_ActivityMemoryKind CUpti_ActivityMemory::memoryKind

The memory kind requested by the user

const char* CUpti_ActivityMemory::name

Variable name. This name is shared across all activity records representing the same symbol, and so should not be modified.

uint32_t CUpti_ActivityMemory::processId

The ID of the process to which this record belongs to.

uint64_t CUpti_ActivityMemory::start

The start timestamp for the memory operation, i.e. the time when memory was allocated, in ns.