<div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Wed 7. Jul 2021 at 20:41, Thibault Bridel-Bertomeu <<a href="mailto:thibault.bridelbertomeu@gmail.com">thibault.bridelbertomeu@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear all, <div><br></div><div>I have been having issues with large Vec (based on DMPLex) and massive MPI I/O  ... it looks like the data that is written by the Petsc Binary Viewer is gibberish for large meshes split on a high number of processes. For instance, I am using a mesh that has around 50 million cells, split on 1024 processors.</div><div>The computation seems to run fine, the timestep computed from the data makes sense so I think internally everything is fine. But when I look at the solution (one example attached) it's noise - at this point it should show a bow shock developing on the left near the step.</div><div>The piece of code I use is below for the output :</div><div><br></div><div>                call DMGetOutputSequenceNumber(dm, save_seqnum, save_seqval, ierr); CHKERRA(ierr)<br>                call DMSetOutputSequenceNumber(dm, -1, 0.d0, ierr); CHKERRA(ierr)<br>                write(filename,'(A,I8.8,A)') "restart_", stepnum, ".bin"<br>                call PetscViewerCreate(PETSC_COMM_WORLD, binViewer, ierr); CHKERRA(ierr)<br>                call PetscViewerSetType(binViewer, PETSCVIEWERBINARY, ierr); CHKERRA(ierr)<br>                call PetscViewerFileSetMode(binViewer, FILE_MODE_WRITE, ierr); CHKERRA(ierr);<br>                call PetscViewerBinarySetUseMPIIO(binViewer, PETSC_TRUE, ierr); CHKERRA(ierr);<br>                </div></div></blockquote><div dir="auto"><br></div><div dir="auto">Do you get the correct output if you don’t call the function above (or equivalently use PETSC_FALSE)</div><div dir="auto"><br></div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>call PetscViewerFileSetName(binViewer, trim(filename), ierr); CHKERRA(ierr)<br>                call VecView(X, binViewer, ierr); CHKERRA(ierr)<br>                call PetscViewerDestroy(binViewer, ierr); CHKERRA(ierr)<br>                call DMSetOutputSequenceNumber(dm, save_seqnum, save_seqval, ierr); CHKERRA(ierr)<br></div><div><br></div><div>I do not think there is anything wrong with it but of course I would be happy to hear your feedback.</div><div>Nonetheless my question was : how far have you tested the binary mpi i/o of a Vec ? Does it make some sense that for a 50 million cell mesh split on 1024 processes, it could somehow fail ?</div><div>Or is it my python drawing method that is completely incapable of handling this dataset ? (paraview displays the same thing though so I'm not sure ...)</div></div></blockquote><div dir="auto"><br></div><div dir="auto">Are you using the python provided tools within petsc to load the Vec from file?</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Dave</div><div dir="auto"><br></div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div><br></div><div>Thank you very much for your advice and help !!!</div></div><div dir="ltr"><div><br></div><div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div><div><div><div>Thibault </div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div></div>