Skip to main content
`Ctrl`+`K`

# 7.37. CUpti_ActivityGreenContext

struct CUpti_ActivityGreenContext

  The activity record for a green context.

  This activity record represents information about a green context (CUPTI_ACTIVITY_KIND_GREEN_CONTEXT). Green context activity is now reported using CUpti_ActivityGreenContext2 record

  Public Members

  CUpti_ActivityKind kind

    The activity record kind, must be CUPTI_ACTIVITY_KIND_GREEN_CONTEXT.

  uint32_t contextId

    The context ID of the green context.

  uint32_t parentContextId

    The ID of the parent context.

  uint32_t deviceId

    The device ID associated with the green context.

  uint32_t numTpcs

    The number of TPCs allocated to the green context.

  uint16_t numMultiprocessors

    The number of multiprocessors (SMs) allocated to the green context.

  uint8_t logicalTpcMaskSize

    The size (in 32-bit words) of the logical TPC mask stored in logicalTpcMask[].

  uint8_t padding

    Undefined.

    Reserved for internal use.

  uint32_t logicalTpcMask[32]

    Bitset of allocated TPC IDs represented as 32-bit words.

    Valid words are specified by logicalTpcMaskSize; unused entries are zeroed. The array supports up to 1024 TPCs (32 words × 32 bits). Each bit represents a logical TPC ID assigned to the green context. For example, if bit k is set, logical TPC ID k is assigned to the context.

    Example: Interpreting the TPC Mask

      For a green context with numTpcs=3, logicalTpcMaskSize=8, and logicalTpcMask={66,8,0,0,0,0,0,0}:

      - Word 0: Value 66 (binary: …01000010, showing lowest 8 bits of 32-bit word) indicates TPCs 1 and 6

      - Word 1: Value 8 (binary: …00001000) indicates TPC 35 (bit 3 of word 1, i.e., global TPC ID 32+3)

      - Each word is 32 bits covering TPCs 0-31 (word 0), 32-63 (word 1), etc.

      - To check if TPC N is allocated: ``(logicalTpcMask[N/32] & (1U << (N%32)))

      - logicalTpcMaskSize indicates how many words in the array contain valid data