All strings are writing as one output so that is not the issue. Adding in some flushing is a good idea and we can try that. We do not open stdout just write to unit 6, but we could open it if there is some un-buffered option that could help. I will look into that also. Thanks!
-----Original Message----- From: Joachim Protze <pro...@itc.rwth-aachen.de> Sent: Monday, December 6, 2021 9:24 AM To: Open MPI Users <users@lists.open-mpi.org> Cc: Fisher (US), Mark S <mark.s.fis...@boeing.com> Subject: Re: [OMPI users] stdout scrambled in file Hi Mark, "[...] MPI makes neither requirements nor recommendations for the output [...]" (MPI4.0, §2.9.1) From my experience, an application can avoid such scrambling (still no guarantee), if the output of lines is written atomically. C++ streams are worst for concurrent output, as every stream operator writes a chunk. It can help to collect output into a stringstream and print out at once. Using printf in C is typically least problematic. Flushing the buffer (fflush) helpts to avoid that the output buffer fills up and is flushed in the middle of printing. I'm not the Fortran expert. But, I think there are some options to change to a buffered output mode (at least I found such options for file I/O). Again, the goal should be that a write statement is printed at once and the buffer doesn't fill up while printing. In any case, it could help to write warnings to stderr and separate the stdout and stderr streams. Best Joachim Am 02.12.21 um 16:48 schrieb Fisher (US), Mark S via users: > We are using Mellanox HPC-X MPI based on OpenMPI 4.1.1RC1 and having > issues with lines scrambling together occasionally. This causes issues > our convergence checking code since we put convergence data there. We > are not using any mpirun options for stdout we just redirect > stdout/stderr to a file before we run the mpirun command so all output > goes there. We had similar issue with Intel MPI in the past and used the > -ordered-output to fix it but I do not see any similar option for > OpenMPI. See example below. Is there anyway to ensure a line from a > process gets one line in the output file? > > *The data in red below is scrambled up and should look like the > cleaned-up version. You can see it put a line from a different process > inside a line from another processes and the rest of the line ended up a > couple of lines down.* > > ZONE 0 : Min/Max CFL= 5.000E-01 1.500E+01 Min/Max DT= 8.411E-10 > 1.004E-01 sec > > *IGSTAB* 1626 7.392E-02 2.470E-01 -9.075E-04 8.607E-03 -5.911E-04 > -4.945E-06 aerosurfs > > *IGMNTAERO* 1626 -6.120E-04 1.406E-02 6.395E-04 4.473E-08 3.112E-04 > -2.785E-05 aerosurfs > > *IGSTAB* 1626 7.392E-02 2.470E-01 -9.075E-04 8.607E-03 -5.911E-04 > -4.945E-06 Aircraft-Total > > *IGMNTAERO* 1626 -6.120E-04 1.406E-02 6.395E-04 4.473E-08 3.112E-04 > -2.785E-05 Aircr Warning: BCFD: US_UPDATEQ: izon, iter, nBadpmin: 699 > 1625 12 > > Warning: BCFD: US_UPDATEQ: izon, iter, nBadpmin: 111 1626 6 > > aft-Total > > *IGSTAB* 1626 6.623E-02 2.137E-01 -9.063E-04 8.450E-03 -5.485E-04 > -4.961E-06 Aircraft-OML > > *IGMNTAERO* 1626 -6.118E-04 -1.602E-02 6.404E-04 5.756E-08 3.341E-04 > -2.791E-05 Aircraft-OML > > *Cleaned up version:* > > ZONE 0 : Min/Max CFL= 5.000E-01 1.500E+01 Min/Max DT= 8.411E-10 > 1.004E-01 sec > > *IGSTAB* 1626 7.392E-02 2.470E-01 -9.075E-04 8.607E-03 -5.911E-04 > -4.945E-06 aerosurfs > > *IGMNTAERO* 1626 -6.120E-04 1.406E-02 6.395E-04 4.473E-08 3.112E-04 > -2.785E-05 aerosurfs > > *IGSTAB* 1626 7.392E-02 2.470E-01 -9.075E-04 8.607E-03 -5.911E-04 > -4.945E-06 Aircraft-Total > > *IGMNTAERO* 1626 -6.120E-04 1.406E-02 6.395E-04 4.473E-08 3.112E-04 > -2.785E-05 Aircraft-Total > > Warning: BCFD: US_UPDATEQ: izon, iter, nBadpmin: 699 1625 12 > > Warning: BCFD: US_UPDATEQ: izon, iter, nBadpmin: 111 1626 6 > > *IGSTAB* 1626 6.623E-02 2.137E-01 -9.063E-04 8.450E-03 -5.485E-04 > -4.961E-06 Aircraft-OML > > *IGMNTAERO* 1626 -6.118E-04 -1.602E-02 6.404E-04 5.756E-08 3.341E-04 > -2.791E-05 Aircraft-OML > > Thanks! > -- Dr. rer. nat. Joachim Protze IT Center Group: High Performance Computing Division: Computational Science and Engineering RWTH Aachen University Seffenter Weg 23 D 52074 Aachen (Germany) Tel: +49 241 80- 24765 Fax: +49 241 80-624765 pro...@itc.rwth-aachen.de www.itc.rwth-aachen.de