-
Notifications
You must be signed in to change notification settings - Fork 70
Implement runtime support for device global with init_mode reprogram #161
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
Conversation
caa7def
to
662b90e
Compare
Compiler side change is in the move now, marking this as ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sophimao! The overall change looks good, just some minor stylistic comments.
Could you restructure this into two commits, folding in the clang-format
change?
- Extend auto-discovery string parsing and unit-test.
- Extend kernel reprogramming logic.
For the second commit, is it feasible to add unit testing? If it is not obvious, what do you see as the main blocker?
I looked into adding unit testing for the kernel change, to do that I would need to add another device with device global, that would enable me to run through the modified code, but I don't see a way to ensure the Edit: the unit test seems to have a construct for testing device op queue status |
Yup, the effect of |
0459bc9
to
a7e0925
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sophimao for the revision. Apart from a few minor details, this is ready to be merged once the corresponding compiler change has been tested together with this change.
a7e0925
to
daa9492
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sophimao, this is good to be merged once integration testing is completed.
@ChenXingYang2000, you can use the runtime commit hash daa9492 for your testing.
2c1e1bb
to
2ad0b64
Compare
Hi @ChenXingYang2000, I have updated the code and sanity checked with the reprogram_trivial test you provided. I might add some more unit tests later but you can use hash 2ad0b64 for testing now. |
Thank you for such quick fix, really appreciate it, I will test it out now. |
Hi @pcolberg , I'm done changing the code for now to align with the desired behaviour of this feature, would you mind take a look at this again when you have time? For testing purposes I pushed the last two commits directly but I'll squash them when this change is fully ready. Thank you! |
de3d310
to
ba2a295
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sophimao! Most of this change is dedicated to new tests which is great 🙂
ba2a295
to
9f798f5
Compare
…ng parsing and extend unit test
…bal with init_mode reprogram There are two places that checks whether we can skip initial reprogram of the device: 1) When attempting device eager reprogram 2) When launching a kernel (for the first time) Changes to acl_device_binary.cpp tackles the 1) and changes to acl_kernel.cpp tackles 2)
9f798f5
to
483a019
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sophimao!
Uh oh!
There was an error while loading. Please reload this page.