Skip to content
This repository has been archived by the owner on Dec 24, 2024. It is now read-only.

Fixing command sizing and changing the test to issue the maximum number of packets the queue supports. #23

Merged
merged 3 commits into from
Sep 12, 2024

Conversation

eddierichter-amd
Copy link
Collaborator

Made the following changes:

  • Fixed workarounds in the AIE soft queue regarding the size of the command chain and the individual commands.
  • Added the functionality to aie_hsa_dispatch_test.cc to query the size of the AIE queue and issue the maximum number of packets it supports.
  • Some additional small fixes on aie_hsa_dispatch_test.cc test.

…maximum number of packets the queue supports.
rocrtst/suites/aie/aie_hsa_dispatch_test.cc Outdated Show resolved Hide resolved
rocrtst/suites/aie/aie_hsa_dispatch_test.cc Outdated Show resolved Hide resolved
constexpr int FIRST_CMD_COUNT_SIZE_INCREASE = 5;
// The driver places a structure before each command in a command chain.
// Need to increase the size of the command by the size of this structure.
constexpr int CMD_COUNT_SIZE_INCREASE = 3;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get this size from the driver?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be really nice but not sure the best way to do that. The reason it is 3 is because the driver sets the size of the command in the chain here https://github.com/amd/xdna-driver/blob/main/src/driver/amdxdna/aie2_message.c#L632 which uses the size of this struct https://github.com/amd/xdna-driver/blob/main/src/driver/amdxdna/aie2_msg_priv.h#L388-L392. We don't have a need to have this cmd_chain_slot_execbuf_cf struct in the runtime but can copy it over if we want to get the size. We could be more programmatic with an ioctl but that might be overkill. Thoughts?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love the comment there:

/* Accurate buf size to hint firmware to do necessary copy */

What happens in the FW doesn't take the hint I wonder 🤔

Anyway my thought is it's just a matter of API - xdna should have a more visible API but it doesn't so the only thing we can do is document and leave breadcrumbs. So can you please leave these exact lines in the comment (with the hash, i.e. go to the link and hit y on your keyboard).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works with me!

@eddierichter-amd eddierichter-amd self-assigned this Sep 12, 2024
Copy link
Collaborator

@ypapadop-amd ypapadop-amd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@makslevental makslevental left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eddierichter-amd eddierichter-amd merged commit 0757f63 into iree-aie Sep 12, 2024
3 checks passed
@eddierichter-amd eddierichter-amd deleted the fixup-multi-packet-test branch September 12, 2024 15:42
eddierichter-amd added a commit that referenced this pull request Oct 22, 2024
…er of packets the queue supports. (#23)

* Fixed workarounds in the AIE soft queue regarding the size of the command chain and the individual commands.

* Added the functionality to aie_hsa_dispatch_test.cc to query the size of the AIE queue and issue the maximum number of packets it supports.

* Some additional small fixes on aie_hsa_dispatch_test.cc test.

* Adding links to driver source
eddierichter-amd added a commit that referenced this pull request Oct 22, 2024
…er of packets the queue supports. (#23)

* Fixed workarounds in the AIE soft queue regarding the size of the command chain and the individual commands.

* Added the functionality to aie_hsa_dispatch_test.cc to query the size of the AIE queue and issue the maximum number of packets it supports.

* Some additional small fixes on aie_hsa_dispatch_test.cc test.

* Adding links to driver source
eddierichter-amd added a commit that referenced this pull request Nov 19, 2024
…er of packets the queue supports. (#23)

* Fixed workarounds in the AIE soft queue regarding the size of the command chain and the individual commands.

* Added the functionality to aie_hsa_dispatch_test.cc to query the size of the AIE queue and issue the maximum number of packets it supports.

* Some additional small fixes on aie_hsa_dispatch_test.cc test.

* Adding links to driver source
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants