gem5  v20.1.0.0
Classes | Typedefs | Enumerations
Architected Queuing Language

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...
 

Enumerations

enum  hsa_packet_type_t {
  HSA_PACKET_TYPE_VENDOR_SPECIFIC = 0, HSA_PACKET_TYPE_INVALID = 1, HSA_PACKET_TYPE_KERNEL_DISPATCH = 2, HSA_PACKET_TYPE_BARRIER_AND = 3,
  HSA_PACKET_TYPE_AGENT_DISPATCH = 4, HSA_PACKET_TYPE_BARRIER_OR = 5
}
 Packet type. More...
 
enum  hsa_fence_scope_t { HSA_FENCE_SCOPE_NONE = 0, HSA_FENCE_SCOPE_AGENT = 1, HSA_FENCE_SCOPE_SYSTEM = 2 }
 Scope of the memory fence operation associated with a packet. More...
 
enum  hsa_packet_header_t {
  HSA_PACKET_HEADER_TYPE = 0, HSA_PACKET_HEADER_BARRIER = 8, HSA_PACKET_HEADER_SCACQUIRE_FENCE_SCOPE = 9, HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE = 9,
  HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE = 11, HSA_PACKET_HEADER_RELEASE_FENCE_SCOPE = 11
}
 Sub-fields of the header field that is present in any AQL packet. More...
 
enum  hsa_packet_header_width_t {
  HSA_PACKET_HEADER_WIDTH_TYPE = 8, HSA_PACKET_HEADER_WIDTH_BARRIER = 1, HSA_PACKET_HEADER_WIDTH_SCACQUIRE_FENCE_SCOPE = 2, HSA_PACKET_HEADER_WIDTH_ACQUIRE_FENCE_SCOPE = 2,
  HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE = 2, HSA_PACKET_HEADER_WIDTH_RELEASE_FENCE_SCOPE = 2
}
 Width (in bits) of the sub-fields in hsa_packet_header_t. More...
 
enum  hsa_kernel_dispatch_packet_setup_t { HSA_KERNEL_DISPATCH_PACKET_SETUP_DIMENSIONS = 0 }
 Sub-fields of the kernel dispatch packet setup field. More...
 
enum  hsa_kernel_dispatch_packet_setup_width_t { HSA_KERNEL_DISPATCH_PACKET_SETUP_WIDTH_DIMENSIONS = 2 }
 Width (in bits) of the sub-fields in hsa_kernel_dispatch_packet_setup_t. More...
 

Detailed Description

Typedef Documentation

◆ hsa_agent_dispatch_packet_t

Agent dispatch packet.

◆ hsa_barrier_and_packet_t

Barrier-AND packet.

◆ hsa_barrier_or_packet_t

Barrier-OR packet.

◆ hsa_kernel_dispatch_packet_t

AQL kernel dispatch packet.

Enumeration Type Documentation

◆ hsa_fence_scope_t

Scope of the memory fence operation associated with a packet.

Enumerator
HSA_FENCE_SCOPE_NONE 

No scope (no fence is applied).

The packet relies on external fences to ensure visibility of memory updates.

HSA_FENCE_SCOPE_AGENT 

The fence is applied with agent scope for the global segment.

HSA_FENCE_SCOPE_SYSTEM 

The fence is applied across both agent and system scope for the global segment.

Definition at line 2756 of file hsa.h.

◆ hsa_kernel_dispatch_packet_setup_t

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.

Definition at line 2848 of file hsa.h.

◆ hsa_kernel_dispatch_packet_setup_width_t

Width (in bits) of the sub-fields in hsa_kernel_dispatch_packet_setup_t.

Enumerator
HSA_KERNEL_DISPATCH_PACKET_SETUP_WIDTH_DIMENSIONS 

Definition at line 2860 of file hsa.h.

◆ 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 
Deprecated:
Renamed as HSA_PACKET_HEADER_SCACQUIRE_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 
Deprecated:
Renamed as HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE.

Definition at line 2780 of file hsa.h.

◆ hsa_packet_header_width_t

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 
Deprecated:
Use HSA_PACKET_HEADER_WIDTH_SCACQUIRE_FENCE_SCOPE.
HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE 
HSA_PACKET_HEADER_WIDTH_RELEASE_FENCE_SCOPE 
Deprecated:
Use HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE.

Definition at line 2826 of file hsa.h.

◆ 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.

Definition at line 2718 of file hsa.h.


Generated on Wed Sep 30 2020 14:02:20 for gem5 by doxygen 1.8.17