Joseph,
you can achieve this via an agent (and it works with DDT too)
For example, the nostderr script below redirects each MPI task's stderr
to /dev/null (so it is not forwarded to mpirun)
$ cat nostderr
#!/bin/sh
exec 2> /dev/null
exec "$@"
and then you can simply
$ mpirun --mca orte_fork_agent /.../nostderr ...
FWIW, and even simpler option (that might not work with DDT though) is to
$ mpirun bash -c './a.out 2> /dev/null'
Cheers,
Gilles
On 11/1/2019 7:43 AM, Joseph Schuchart via users wrote:
On 10/30/19 2:06 AM, Jeff Squyres (jsquyres) via users wrote:
Oh, did the prior behavior *only* output to the file and not to
stdout/stderr? Huh.
I guess a workaround for that would be:
mpirun ... > /dev/null
Just to throw in my $0.02: I recently found that the output to
stdout/stderr may not be desirable: in an application that writes a
lot of log data to stderr on all ranks, stdout was significantly
slower than the files I redirected stdio to (I ended up seeing the
application complete in the file output while the terminal wasn't even
halfway through). Redirecting stderr to /dev/null as Jeff suggests
does not help much because the output first has to be sent to the head
node.
Things got even worse when I tried to use the stdout redirection with
DDT: it barfed at me for doing pipe redirection in the command
specification! The DDT terminal is just really slow and made the whole
exercise worthless.
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.
Joseph
--
Jeff Squyres
jsquy...@cisco.com <mailto:jsquy...@cisco.com>