Skip to content

Questions about GPU workflow in gem5 #1613

Answered by abmerop
Ronchi1997 asked this question in Q&A
Discussion options

You must be logged in to vote

The details can get complicated so I'll build on the answer from @mattsinc and point to some gem5 locations.

One of the AQL packets described on slide 32 is a dispatch packet. This is defined in the HSA Runtime Programmer's Reference in Section 2.6.5.7. The "kernel_object" field is the address of a "code object." The code object is defined in gem5 in gpu-compute/kernel_code.hh based on the LLVM description in the LLVM AMDGPU User Guide. The GPU Command Processor calculates the start of the kernel code and creates an HSA task with the initial starting PC.

Next some dispatch magic happens which is a whole other topic. Eventually, individual wavefronts are started and the compute unit sets t…

Replies: 1 comment 5 replies

Comment options

You must be logged in to vote
5 replies
@Ronchi1997
Comment options

@abmerop
Comment options

Answer selected by Ronchi1997
@mattsinc
Comment options

@mjkpolo
Comment options

@Ronchi1997
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
4 participants