<HTML>
<HEAD>
<TITLE>Re: [Paraview-developers] MPI_Init during standalone ParaView operation</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>I&#8217;m not paying much attention to this thread, but shouldn&#8217;t the DSM (or whatever is using it) be able to check to see if MPI is running by calling MPI_Initialized to check to see if MPI_Init has been called. &nbsp;If you are wrapping things in a plugin, it makes sense to have some autostart code do this. &nbsp;I&#8217;m not sure how to safely call MPI_Finalize, though.<BR>
<BR>
Be careful about calling MPI_Init in a &#8220;stand alone&#8221; application. &nbsp;The main reason why ParaView does not always call this is that some versions of MPI will fail if MPI_Init is called if the application was not run under mpirun. &nbsp;This was a real pain several years ago when the ParaView application could be run parallel.<BR>
<BR>
-Ken <BR>
<BR>
<BR>
On 10/29/09 11:32 AM, &quot;Biddiscombe, John A.&quot; &lt;<a href="biddisco@cscs.ch">biddisco@cscs.ch</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Fabian<BR>
&nbsp;<BR>
<BR>
<BR>
reusing the sim&#8217;s mpi_world and need to have that shared into paraview&#8217;s stuff? &nbsp;Or is it using something else?<BR>
The sim&#8217;s communicator is joined to the app&#8217;s communicator using an &nbsp;MPI_accept / MPI_Connect pair where the app calls accpt and the sim connects &#8211; via the dsm. &nbsp;Any old communicator will do me on the app side, so lojng as paraview runs. It&#8217;s really because debug/testing is too slow when you have to init pvservers and attach debuggers and wotnot. Much easier to run standalone.<BR>
Otherwise, I think the paraview client initializes the global controller with Dummy, but I think perhaps you could safely replace that when you detect the need by initializing a new MPIController and SetGlobalController().<BR>
<BR>
<BR>
OK. I tried MPI_Init and all is well, then I create a new controller and assign it to the DSM manager and setit globally, and all seems to be working. The DSM is not doing what it is supposed to, but the app is not crashing, so I think paraview is fooled &#8220;enough&#8221;. If I can fix the DSM to work as it is, then I&#8217;m happy. Thanks for the pointers. <BR>
JB<BR>
NB. MPI_Init_thread(blah) is not working since we need to start (win32) with &#8220;&#8211;channel mt&#8221; on the command line, so I guess I may need to run as an mpi app anyway &lt;sigh&gt;<BR>
</SPAN><SPAN STYLE='font-size:12pt'><B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR="#008000">vtkSmartPointer</FONT><FONT COLOR="#808000">&lt;</FONT><FONT COLOR="#008000">vtkMPIController</FONT><FONT COLOR="#808000">&gt;</FONT> <FONT COLOR="#008000">controller</FONT> <FONT COLOR="#808000">=</FONT> <FONT COLOR="#008000">vtkSmartPointer</FONT><FONT COLOR="#808000">&lt;</FONT><FONT COLOR="#008000">vtkMPIController</FONT><FONT COLOR="#808000">&gt;::</FONT><FONT COLOR="#008000">New</FONT><FONT COLOR="#808000">();<BR>
</FONT> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR="#008000">controller</FONT><FONT COLOR="#808000">-&gt;</FONT><FONT COLOR="#008000">Initialize</FONT><FONT COLOR="#808000">(&amp;</FONT><FONT COLOR="#008000">argc</FONT><FONT COLOR="#808000">,</FONT> <FONT COLOR="#808000">&amp;</FONT><FONT COLOR="#008000">_argv</FONT><FONT COLOR="#808000">,</FONT> <FONT COLOR="#FF0000">1</FONT><FONT COLOR="#808000">);<BR>
</FONT> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR="#800000">this</FONT><FONT COLOR="#808000">-&gt;</FONT><FONT COLOR="#008000">SetController</FONT><FONT COLOR="#808000">(</FONT><FONT COLOR="#008000">controller</FONT><FONT COLOR="#808000">);<BR>
</FONT> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT COLOR="#008000">vtkMPIController</FONT><FONT COLOR="#808000">::</FONT><FONT COLOR="#008000">SetGlobalController</FONT><FONT COLOR="#808000">(</FONT><FONT COLOR="#008000">controller</FONT><FONT COLOR="#808000">);<BR>
</FONT></B></SPAN><SPAN STYLE='font-size:11pt'> <BR>
<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
</SPAN></FONT><FONT SIZE="1"><FONT FACE="Monaco, Courier New"><SPAN STYLE='font-size:7.5pt'><BR>
&nbsp;&nbsp;&nbsp;**** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kenneth Moreland<BR>
&nbsp;&nbsp;&nbsp;&nbsp;*** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sandia National Laboratories<BR>
*********** &nbsp;<BR>
*** *** *** &nbsp;email: <a href="kmorel@sandia.gov">kmorel@sandia.gov</a><BR>
** &nbsp;*** &nbsp;** &nbsp;phone: (505) 844-8919<BR>
&nbsp;&nbsp;&nbsp;&nbsp;*** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;web: &nbsp;&nbsp;<a href="http://www.cs.unm.edu/~kmorel">http://www.cs.unm.edu/~kmorel</a><BR>
</SPAN></FONT></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
</SPAN></FONT>
</BODY>
</HTML>