-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
[GPU] Revised unique ID setting scheme. #10548
[GPU] Revised unique ID setting scheme. #10548
Conversation
9f4c366
to
46f9abb
Compare
if (myprog.get_parent_primitive() != "") { | ||
auto loop_prim = myprog.get_parent_primitive(); | ||
std::replace(loop_prim.begin(), loop_prim.end(), '/', '_'); | ||
std::replace(loop_prim.begin(), loop_prim.end(), ':', '_'); |
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.
I think those two are not the only prohibited symbols for kernel name... Is it possible to use processing ID of parent primitive instead?
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.
There is no processing id -like thing currently, but I was thinking of changing this to be "body_network_id" like thing, how do you think?
I.e.,
- Let the program have body_prog_id (e.g., if the program has 3 loops, ids 0-2 exists for that program)
- when build_body_network, set the body_prog_id
- Use it in its unique_id
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.
I just decided to use unique_id as a temporally generated number same as the original behavior to make it simple. I tried the above mentioned impl but thought again, there are too many "_id"s .. maybe it will be better to let the program have parent / body impl more structured way. However at this moment it is only needed for distinguish the entry point, no other usage for them. Please take a look..
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.
So I am gonna revert the changes w.r.t the parent_id things, too, soon
883d42f
to
5d3cf09
Compare
…to distinguish the loop body networks' id. However, it results in cl cache miss for same network loaded multiple time, because program ids are differnt. Now revised it to use parent primitive id instead of program_id for unique id of nodes in body networks.
5d3cf09
to
4afc08a
Compare
* Revised unique ID setting scheme. Previously it was using program id to distinguish the loop body networks' id. However, it results in cl cache miss for same network loaded multiple time, because program ids are differnt. Now revised it to use parent primitive id instead of program_id for unique id of nodes in body networks. * Revised adding unique_id to entry points to have a temporal number as unique id * Revert the canceld change * Added test to check whether two networks loaded from same function creates same cl cache
* Revised unique ID setting scheme. Previously it was using program id to distinguish the loop body networks' id. However, it results in cl cache miss for same network loaded multiple time, because program ids are differnt. Now revised it to use parent primitive id instead of program_id for unique id of nodes in body networks. * Revised adding unique_id to entry points to have a temporal number as unique id * Revert the canceld change * Added test to check whether two networks loaded from same function creates same cl cache Co-authored-by: Taylor Yeonbok Lee <[email protected]>
Details:
Revised unique ID setting scheme. Previously it was using program id to distinguish the loop body networks' id.
However, it results in cl cache miss for same network loaded multiple time, because program ids are differnt.
Now revised it to use parent primitive id instead of program_id for unique id of nodes in body networks.
Tickets: