gem5
v20.1.0.0
|
Classes | |
struct | hsa_kernel_dispatch_packet_s |
AQL kernel dispatch packet. More... | |
struct | hsa_agent_dispatch_packet_s |
Agent dispatch packet. More... | |
struct | hsa_barrier_and_packet_s |
Barrier-AND packet. More... | |
struct | hsa_barrier_or_packet_s |
Barrier-OR packet. More... | |
Typedefs | |
typedef struct hsa_kernel_dispatch_packet_s | hsa_kernel_dispatch_packet_t |
AQL kernel dispatch packet. More... | |
typedef struct hsa_agent_dispatch_packet_s | hsa_agent_dispatch_packet_t |
Agent dispatch packet. More... | |
typedef struct hsa_barrier_and_packet_s | hsa_barrier_and_packet_t |
Barrier-AND packet. More... | |
typedef struct hsa_barrier_or_packet_s | hsa_barrier_or_packet_t |
Barrier-OR packet. More... | |
typedef struct hsa_agent_dispatch_packet_s hsa_agent_dispatch_packet_t |
Agent dispatch packet.
typedef struct hsa_barrier_and_packet_s hsa_barrier_and_packet_t |
Barrier-AND packet.
typedef struct hsa_barrier_or_packet_s hsa_barrier_or_packet_t |
Barrier-OR packet.
typedef struct hsa_kernel_dispatch_packet_s hsa_kernel_dispatch_packet_t |
AQL kernel dispatch packet.
enum hsa_fence_scope_t |
Scope of the memory fence operation associated with a packet.
Sub-fields of the kernel dispatch packet setup field.
The offset (with respect to the address of setup) of a sub-field is identical to its enumeration constant. The width of each sub-field is determined by the corresponding value in hsa_kernel_dispatch_packet_setup_width_t. The offset and the width are expressed in bits.
Enumerator | |
---|---|
HSA_KERNEL_DISPATCH_PACKET_SETUP_DIMENSIONS | Number of dimensions of the grid. Valid values are 1, 2, or 3. |
Width (in bits) of the sub-fields in hsa_kernel_dispatch_packet_setup_t.
Enumerator | |
---|---|
HSA_KERNEL_DISPATCH_PACKET_SETUP_WIDTH_DIMENSIONS |
enum hsa_packet_header_t |
Sub-fields of the header field that is present in any AQL packet.
The offset (with respect to the address of header) of a sub-field is identical to its enumeration constant. The width of each sub-field is determined by the corresponding value in hsa_packet_header_width_t. The offset and the width are expressed in bits.
Enumerator | |
---|---|
HSA_PACKET_HEADER_TYPE | Packet type. The value of this sub-field must be one of hsa_packet_type_t. If the type is HSA_PACKET_TYPE_VENDOR_SPECIFIC, the packet layout is vendor-specific. |
HSA_PACKET_HEADER_BARRIER | Barrier bit. If the barrier bit is set, the processing of the current packet only launches when all preceding packets (within the same queue) are complete. |
HSA_PACKET_HEADER_SCACQUIRE_FENCE_SCOPE | Acquire fence scope. The value of this sub-field determines the scope and type of the memory fence operation applied before the packet enters the active phase. An acquire fence ensures that any subsequent global segment or image loads by any unit of execution that belongs to a dispatch that has not yet entered the active phase on any queue of the same kernel agent, sees any data previously released at the scopes specified by the acquire fence. The value of this sub-field must be one of hsa_fence_scope_t. |
HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE | |
HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE | Release fence scope, The value of this sub-field determines the scope and type of the memory fence operation applied after kernel completion but before the packet is completed. A release fence makes any global segment or image data that was stored by any unit of execution that belonged to a dispatch that has completed the active phase on any queue of the same kernel agent visible in all the scopes specified by the release fence. The value of this sub-field must be one of hsa_fence_scope_t. |
HSA_PACKET_HEADER_RELEASE_FENCE_SCOPE |
Width (in bits) of the sub-fields in hsa_packet_header_t.
Enumerator | |
---|---|
HSA_PACKET_HEADER_WIDTH_TYPE | |
HSA_PACKET_HEADER_WIDTH_BARRIER | |
HSA_PACKET_HEADER_WIDTH_SCACQUIRE_FENCE_SCOPE | |
HSA_PACKET_HEADER_WIDTH_ACQUIRE_FENCE_SCOPE |
|
HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE | |
HSA_PACKET_HEADER_WIDTH_RELEASE_FENCE_SCOPE |
|
enum hsa_packet_type_t |
Packet type.
Enumerator | |
---|---|
HSA_PACKET_TYPE_VENDOR_SPECIFIC | Vendor-specific packet. |
HSA_PACKET_TYPE_INVALID | The packet has been processed in the past, but has not been reassigned to the packet processor. A packet processor must not process a packet of this type. All queues support this packet type. |
HSA_PACKET_TYPE_KERNEL_DISPATCH | Packet used by agents for dispatching jobs to kernel agents. Not all queues support packets of this type (see hsa_queue_feature_t). |
HSA_PACKET_TYPE_BARRIER_AND | Packet used by agents to delay processing of subsequent packets, and to express complex dependencies between multiple packets. All queues support this packet type. |
HSA_PACKET_TYPE_AGENT_DISPATCH | Packet used by agents for dispatching jobs to agents. Not all queues support packets of this type (see hsa_queue_feature_t). |
HSA_PACKET_TYPE_BARRIER_OR | Packet used by agents to delay processing of subsequent packets, and to express complex dependencies between multiple packets. All queues support this packet type. |