MCPcopy Create free account
hub / github.com/ARM-software/armnn / CreateTimelinePacketHeader

Function CreateTimelinePacketHeader

profiling/client/src/ProfilingUtils.cpp:131–157  ·  view source on GitHub ↗

Creates a timeline packet header \params packetFamiliy Timeline Packet Family packetClass Timeline Packet Class packetType Timeline Packet Type streamId Stream identifier seqeunceNumbered When non-zero the 4 bytes following the header is a u32 sequence number dataLength Unsigned 24-bit integer. Length of data, in bytes. Zero is permitted \returns Pair of uint32_

Source from the content-addressed store, hash-verified

129/// \returns
130/// Pair of uint32_t containing word0 and word1 of the header
131std::pair<uint32_t, uint32_t> CreateTimelinePacketHeader(uint32_t packetFamily,
132 uint32_t packetClass,
133 uint32_t packetType,
134 uint32_t streamId,
135 uint32_t sequenceNumbered,
136 uint32_t dataLength)
137{
138 // Packet header word 0:
139 // 26:31 [6] packet_family: timeline Packet Family, value 0b000001
140 // 19:25 [7] packet_class: packet class
141 // 16:18 [3] packet_type: packet type
142 // 8:15 [8] reserved: all zeros
143 // 0:7 [8] stream_id: stream identifier
144 uint32_t packetHeaderWord0 = ((packetFamily & 0x0000003F) << 26) |
145 ((packetClass & 0x0000007F) << 19) |
146 ((packetType & 0x00000007) << 16) |
147 ((streamId & 0x00000007) << 0);
148
149 // Packet header word 1:
150 // 25:31 [7] reserved: all zeros
151 // 24 [1] sequence_numbered: when non-zero the 4 bytes following the header is a u32 sequence number
152 // 0:23 [24] data_length: unsigned 24-bit integer. Length of data, in bytes. Zero is permitted
153 uint32_t packetHeaderWord1 = ((sequenceNumbered & 0x00000001) << 24) |
154 ((dataLength & 0x00FFFFFF) << 0);
155
156 return std::make_pair(packetHeaderWord0, packetHeaderWord1);
157}
158
159/// Creates a packet header for the timeline messages:
160/// * declareLabel

Callers 4

CommitMethod · 0.85

Calls

no outgoing calls

Tested by 1