Go to the documentation of this file.
43 #ifndef __GPU_COMPUTE_HSA_QUEUE_ENTRY__
44 #define __GPU_COMPUTE_HSA_QUEUE_ENTRY__
81 kernargAddress(((_hsa_dispatch_packet_t*)disp_pkt)->kernarg_address),
83 _ldsSize((
int)((_hsa_dispatch_packet_t*)disp_pkt)->
86 private_segment_size),
99 numVgprs = (akc->granulated_workitem_vgpr_count + 1) * 4;
103 numSgprs = (akc->granulated_wavefront_sgpr_count + 1) * 8;
483 #endif // __GPU_COMPUTE_HSA_QUEUE_ENTRY__
void parseKernelCode(AMDKernelCode *akc)
HSAQueueEntry(std::string kernel_name, uint32_t queue_id, int dispatch_id, void *disp_pkt, AMDKernelCode *akc, Addr host_pkt_addr, Addr code_addr)
uint32_t enable_vgpr_workitem_id
int privMemPerItem() const
uint32_t enable_sgpr_workgroup_id_x
Addr completionSignal() const
uint32_t enable_sgpr_dispatch_id
uint32_t enable_sgpr_grid_workgroup_count_z
uint32_t enable_sgpr_dispatch_ptr
uint32_t enable_sgpr_private_segment_wave_byte_offset
int _outstandingInvs
Number of outstanding invs for the kernel.
uint32_t enable_sgpr_workgroup_id_z
void wgId(int dim, int val)
uint32_t enable_sgpr_private_segment_buffer
int numScalarRegs() const
uint32_t enable_sgpr_private_segment_size
int numWgAtBarrier() const
_amd_queue_t amdQueue
Keep a copy of the AMD HSA queue because we need info from some of its fields to initialize register ...
int numWgArrivedAtBarrier
bool isInvStarted()
Whether invalidate has started or finished -1 is the initial value indicating inv has not started for...
void markInvDone()
Forcefully change the state to be inv done.
uint32_t enable_sgpr_workgroup_info
int numVectorRegs() const
uint32_t enable_sgpr_flat_scratch_init
bool vgprBitEnabled(int bit) const
std::array< int, MAX_DIM > _numWg
uint32_t enable_sgpr_kernarg_segment_ptr
bool isInvDone() const
Is invalidate done?
Addr hostDispPktAddr() const
void updateOutstandingInvs(int val)
update the number of pending invalidate requests
int wgSize(int dim) const
uint32_t enable_sgpr_queue_ptr
bool dispComplete() const
std::array< int, MAX_DIM > _gridSize
int gridSize(int dim) const
Addr hostAMDQueueAddr
Host-side addr of the amd_queue_t on which this task was queued.
std::bitset< NumScalarInitFields > initialSgprState
int numWgCompleted() const
std::bitset< NumVectorInitFields > initialVgprState
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static constexpr T divCeil(const T &a, const U &b)
const std::string & kernelName() const
int outstandingWbs() const
uint32_t enable_sgpr_workgroup_id_y
void updateOutstandingWbs(int val)
Update the number of pending writeback requests.
bool sgprBitEnabled(int bit) const
int _outstandingWbs
Number of outstanding wbs for the kernel values: 0: 1)initial value, flush has not started for the ke...
std::array< int, MAX_DIM > _wgSize
uint32_t enable_sgpr_grid_workgroup_count_y
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::array< int, MAX_DIM > _wgId
uint32_t enable_sgpr_grid_workgroup_count_x
Generated on Tue Sep 21 2021 12:25:24 for gem5 by doxygen 1.8.17