-
Notifications
You must be signed in to change notification settings - Fork 936
docs: update "Getting help" #11092
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
docs: update "Getting help" #11092
Conversation
faff9f1 to
4feb02b
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
jjhursey
left a comment
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 this looks fine as is. One suggestion that you can take or leave.
|
I haven't read the entire entry, but a few suggestions for trying to debug launch problems in case you missed them:
Probably a few others you can think of, but those seem to be the ones I at least am repeatedly requesting. |
|
@rhc54 Is there a way we could make it so that the user does not have to configure with |
|
Sure - but the negative is that then all of those verbose output calls get executed even when we are not debugging. It used to be a significant hit (since there are a lot of them) as we rendered the output and then discarded it without printing. I seem to recall we changed that not too long ago so that we don't render, which helps reduce the impact - it's nothing more than a quick "if" clause, so perhaps the impact is small now? |
|
Is it possible to query the verbosity level and only do the rendering if the verbosity level is |
|
😄 I was asking you if we had already done that (since we are just following what you guys have in opal_output), and now you ask me if it is possible Looking at the PMIx code (since we use it in PRRTE), it appears that we did indeed change it to check the verbosity level first, before doing the rendering. So the impact is pretty minimal. I'll just change PMIx so it always compiles in the verbose output code as that is the easiest solution. Will require a new release, though, so I don't know how you want to handle that over here. |
Haha! FWIW, I was assuming you were doing things like: if (something_happens) {
asprintf(&foo, "...", ...);
OPAL_OUTPUT_VERBOSE(..., foo, ...);
free(foo);
}I.e., the
Awesome; thanks. We're still advancing PRTE and PMIx git submodules on main/v5.0.x (I just filed #11096 this morning to pick up the fixes you+me talked about over the weekend). @open-mpi/ompi-rm-5-0-x Do you want to weigh in here? |
Yeah, that's the way you used to have it in opal_output - your capitalized version would call opal_output_generate_string and then check the verbosity to see if it should be printed. Now the macro first checks the verbosity and then generates the string. If I were more concerned about performance, then having that "if" clause always being executed would be a concern. Nice to have it completely compiled away for performant configurations. However, I can see where it might be useful to always have the debug available. Tough tradeoff. |
|
If you're concerned about the "if", you could |
|
Problem is that "check_verbosity" is a function call: PMIX_EXPORT bool pmix_output_check_verbosity(int level, int output_id)
{
return (output_id >= 0 && output_id < PMIX_OUTPUT_MAX_STREAMS
&& info[output_id].ldi_verbose_level >= level);
}Not sure how you can wrap all that into an |
|
FWIW, that's such a small function that it would be pretty easy to change to either inline or -- since That being said, I don't know if it's worth it. Without any measurement proof from me, I'm guessing that changing this function to a macro won't have any noticeable impact on overall performance. |
|
Thought about that, but I believe that would require making the |
|
Yes, it would have to be global. IMHO: if you prefix the symbol appropriately, there's little difference between static-global-in-a-file vs. global-everywhere. That is a bunch of work to save a single function call (unless you are calling this function a bazillion times, in which case we might want to have a different optimization discussion 😉). |
Well, it gets called every single time there is an I've got it pretty well done now - not as much work as you might think. Annoying, but probably useful in the long run. |
Roger! |
|
openpmix/openpmix#2815 does what you want. Since PRRTE uses the PMIx "output" code, it should immediately translate into PRRTE behavior. I'll likely update the PRRTE code base to directly call the lower-case functions, but continue to retain the updated |
4feb02b to
01d926d
Compare
Revamped since Josh initially reviewed it
|
@jjhursey @rhc54 I think I incorporated all the suggested changes -- I actually split it into 3 sections now (building+installing, launching, and running). Could you have a look at the new page? |
|
You know, instead of having them run our |
I thought about that, but what if their app requires ppn |
|
Yeah, it's a bit of a quandary. Really, we have three parts here:
Maybe you need separate sections for these? Hate to create more work, but perhaps that would be clearer? |
Revamp the "Getting help" docs page to include a bit more information and have more recent procedures for the Open MPI community. Signed-off-by: Jeff Squyres <[email protected]>
01d926d to
23a7676
Compare
I think I'm ok leaving it as-is, at least for the moment. I did another push with a trivial change compared to what I pushed before (adding in the potential use of a hostfile), but I think this might be good enough for now. If we find that we keep asking for the other 2 things you mentioned, we can always amend this at any time later (i.e., these pages are not strictly tied to a release). |

Revamp the "Getting help" docs page to include a bit more information and have more recent procedures for the Open MPI community.
Signed-off-by: Jeff Squyres [email protected]
Working with a user recently, I realized that the current "Getting Help" page wasn't quite sufficient for the things we ask for today. This PR revamps the page a bit, requests a few more pieces of information, etc.
For this PR, it might be easier to compare the existing Getting Help page vs. the new Getting Help page than to read the diff.