-
Notifications
You must be signed in to change notification settings - Fork 146
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
Legion Prof renders implicit top-level tasks on "I/O" processor #1828
Comments
Some thoughts on the different approaches:
I don't think I have any better ideas. Option 3 is my preferred choice. |
Option 3 is fine and should be easy as long as you keep synthesizing the fake processor IDs. If you want to also stop synthesizing processor IDs entirely, that's a larger issue because we use processor IDs for a variety of purposes within the profiler, making that a much more challenging change. But I think it's also needless: a new processor kind does not imply abandoning synthesizing processor IDs. |
I'm not entirely sure that they way I am synthesizing processor IDs is sound, and it might also conflict with the way Realm adds processor IDs if/when the machine is dynamic (e.g. processors are added). I would prefer to get rid of synthesizing processor IDs in the future, but we can keep them for now if we have to. |
As a consequence of the design decision made in #1770 (comment), Legion currently synthesizes a new I/O processor for each implicit top-level task. The problem with this approach is that it is potentially confusing to users: after all, the original program may not use I/O processors at all, and users may not even be aware of what I/O processors are, let alone the representation that we use to implement them.
@manopapad asked me to brainstorm some potential solutions to this issue so that users can understand more easily what their program is doing. Here's what I can think of, but maybe @lightsighter has other ideas:
The text was updated successfully, but these errors were encountered: