Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dispatchGenericAqlPacket,If the size parameter in the function is not equal to 1, there may be problems. #66

Closed
hxxiaoming opened this issue Mar 19, 2024 · 3 comments

Comments

@hxxiaoming
Copy link

while ((index - hsa_queue_load_read_index_scacquire(gpu_queue_)) >= sw_queue_size) {
amd::Os::yield();
}

Here, it only checks if the ring buffer has an empty slot but does not determine how many empty slots are available. If the number of packets to be written is more than one, there may be a problem of overwriting packets that have not been processed yet.

@iassiour
Copy link
Contributor

Thank you @hxxiaoming for reporting this issue. I will create an internal PR with a fix and update when it becomes available in develop branch.

@hxxiaoming
Copy link
Author

Thanks iassiour!

@iassiour
Copy link
Contributor

iassiour commented Apr 6, 2024

Hi @hxxiaoming as it turns out dispatching multiple packets is actually not fully supported so I have removed this option from dispatchGenericAqlPacket (i.e. size is now always equal to 1).

The change is in develop branch d7f352d

I am closing this issue thank you for raising this.

@iassiour iassiour closed this as completed Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants