<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On 31 Jan 2024, at 11:31 AM, Alain O' Miniussi <alain.miniussi@oca.eu> wrote:</div><br class="Apple-interchange-newline"><div><div>Hi,<br><br>It is indicated in:<br>https://petsc.org/release/manualpages/Sys/PetscInitialize/<br>that the init function will call MPI_Init.<br><br>What if MPI_Init was already called (as it is the case in my application) and what about MPI_Init_thread.<br></div></div></blockquote><div><br></div><div>Then, MPI_Init() is not called, see the call to MPI_Initialized() in <a href="https://petsc.org/release/src/sys/objects/pinit.c.html#PetscInitialize">https://petsc.org/release/src/sys/objects/pinit.c.html#PetscInitialize</a>.</div><br><blockquote type="cite"><div><div>Wouldn't it be more convenient to have a Petsc init function taking a already initialized communicator as argument ?<br><br>Also, that initialization seems to imply that it is not possible to have multiple instance of PETSc on different communicators. Is that the case ?<br></div></div></blockquote><div><br></div><div>No, you can initialize MPI yourself and then set PETSC_COMM_WORLD to whatever you need before calling PetscInitialize().</div><div><br></div><div>Thanks,</div><div>Pierre</div><br><blockquote type="cite"><div><div>Thanks<br><br>----<br>Alain Miniussi<br>DSI, Pôles Calcul et Genie Log.<br>Observatoire de la Côte d'Azur<br>Tél. : +33609650665<br></div></div></blockquote></div><br></body></html>