On Nov 1, 2019, at 9:34 AM, Jeff Squyres (jsquyres) via users
<[email protected]> wrote:
>
>> Point to make: it would be nice to have an option to suppress the output on
>> stdout and/or stderr when output redirection to file is requested. In my
>> case, having stdout still visible on the terminal is desirable but having a
>> way to suppress output of stderr to the terminal would be immensely helpful.
>
> I do believe that --output-file will write to a *local* file on the node
> where it is running (vs. being sent to mpirun, and mpirun writing to the
> output file). So snipping off the output from being sent to mpirun in the
> first place would actually be an efficiency-gaining feature.
Guess what? It turns out that this is another
previously-undocumented-but-already-existing feature. :-)
mpirun --output-filename foo:nocopy ...
The ":nocopy" suffix will not emit to stdout/stderr; it will *only* write to
the files.
You can also comma-delimit / mix this with "nojobid" behavior. For example:
mpirun --output-filename foo:nocopy,nojobid ...
(ordering of the tokens doesn't matter in the comma-delimited list)
(I have to admit that I actually LOL'ed when I looked in the code and found
that the feature was already there!)
For the most part, this whole thing needs to get documented. I don't know the
timing of when this will happen, but we should probably also rename this to
--output-directory to be a bit more accurate (and probably keep
--output-filename as a deprecated synonym for at least the duration of the
4.0.x series).
--
Jeff Squyres
[email protected]