<div dir="ltr">Hi Ufuk,<div><br></div><div>I'm guessing the issue is that the calls to Catalyst are not consistent. Could you share your Python scripts? Also, did you modify them manually?</div><div><br></div><div>I tried with PV 5.3. with the ../ParaView-v5.3.0/Examples/Catalyst/CxxFullExample/ example with the attached scripts simultaneously by running with "./CxxFullExample doubleoutputs.py output3.py image11.py" and got the correct output and no warnings. </div><div><br></div><div>Cheers,</div><div>Andy</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 4, 2017 at 7:04 AM, Ufuk Utku Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.tr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div class="m_8015730165042957233moz-cite-prefix">Hi Andy,<br>
      <br>
      I tested you suggestion about using multiple script in
      co-processing. In this case, i used following code in the adaptor
      side to add multiple pipeline<br>
      <br>
            for (int i = 0; i < *nscript; i++) {<br>
              pipeline->Initialize(<wbr>pythonScriptNames[i]);<br>
              g_coprocessor->AddPipeline(<wbr>pipeline);<br>
            }<br>
      <br>
      When i run the simulation, i am getting following warning<br>
      <br>
      Warning: In
/okyanus/users/uturuncoglu/<wbr>progs/paraview-5.3.0/src/<wbr>ParaViewCore/VTKExtensions/<wbr>Core/vtkPVTrivialProducer.cxx,
      line 66<br>
      vtkPVTrivialProducer (0x13816760): New time step is not after last
      time step.<br>
      <br>
      the output seems not correct and it is zoom out version of second
      pipeline (png file). The first pipeline is not even triggered. Do
      i missing something in here? BTW, i am using PV 5.3.<br>
      <br>
      Thanks,<br>
      <br>
      --ufuk<div><div class="h5"><br>
      <br>
      On 16/05/2017 16:08, Andy Bauer wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>Hi Ufuk,<br>
              <br>
            </div>
            If you create a vtkCPythonScriptPipeline, when you
            initialize it with the script file name (which has to be
            done on each process) everything will be taken care of with
            respect to broadcasting the file contents from process 0 to
            the others. We aren't sophisticated enough to parse the
            Python script to see if it imports other scripts that are
            not part of ParaView (e.g. paraview.simple) or Python (e.g.
            sys). That is why I recommended the first approach as
            opposed to the second approach above. Depending on the
            compute platform and how many MPI processes are in the run
            the difference may be negligible but having 100K processes
            or more trying to access the same file can seriously slow
            down an HPC machine.<br>
            <br>
          </div>
          Cheers,<br>
        </div>
        Andy<br>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Tue, May 16, 2017 at 8:24 AM, Ufuk
          Utku Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.<wbr>tr</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div class="m_8015730165042957233m_3040318200464282531moz-cite-prefix">Thanks
                Andy. That is exactly what i am looking for. The
                broadcasting mechanism is not clear to me yet. Do i need
                to broadcast only the file names? Anyway, i will try to
                implement it and see what is going on there.<br>
                <br>
                Thanks again,<br>
                Regards,<br>
                <br>
                --ufuk
                <div>
                  <div class="m_8015730165042957233h5"><br>
                    <br>
                    On 16/05/2017 14:58, Andy Bauer wrote:<br>
                  </div>
                </div>
              </div>
              <div>
                <div class="m_8015730165042957233h5">
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div>
                        <div>
                          <div>
                            <div>
                              <div>
                                <div>
                                  <div>
                                    <div>
                                      <div>
                                        <div>Hi Ufuk,<br>
                                          <br>
                                        </div>
                                        Unless I'm not understanding
                                        your question correctly, I think
                                        you can get what you want by
                                        adding in multiple
                                        vtkCPPythonScriptPipelines to
                                        your vtkCPProcessor object in
                                        your adaptor. Alternatively if
                                        you want to have a single,
                                        master Catalyst script handling
                                        other Catalyst scripts you can
                                        do something like the following:<br>
                                        ================<br>
                                      </div>
                                      import script_a<br>
                                    </div>
                                    import script_b<br>
                                  </div>
                                  import script_c<br>
                                  <br>
                                </div>
                                def RequestDataDescription(datades<wbr>cription):<br>
                              </div>
                                script_a.RequestDataDescriptio<wbr>n(datadescription)<br>
                                script_b.RequestDataDescriptio<wbr>n(datadescription)<br>
                                script_c.RequestDataDescriptio<wbr>n(datadescription)<br>
                              <br>
                              def DoCoProcessing(datadescription<wbr>):<br>
                            </div>
                              script_a.DoCoProcessing(datade<wbr>scription)<br>
                              script_b.DoCoProcessing(datade<wbr>scription)<br>
                              script_c.DoCoProcessing(datade<wbr>scription)<br>
                            ===================<br>
                            <br>
                          </div>
                          The first way is the recommended way though as
                          that should be more efficient by having
                          process 0 read the scripts and broadcasting
                          the script contents to the other  processes
                          for use. The second method will only do that
                          for the master script.<br>
                          <br>
                        </div>
                        <div>Please let me know if this doesn't answer
                          your question.<br>
                        </div>
                        <div><br>
                        </div>
                        Cheers,<br>
                      </div>
                      Andy<br>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On Tue, May 16, 2017 at
                        5:46 AM, Ufuk Utku Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.<wbr>tr</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
                          <br>
                          I just wonder that is it possible to trigger
                          multiple visualization pipeline in the same
                          time with co-processing. The co-processing
                          script generator plugin mainly outputs only
                          single pipeline at a time and that is fine but
                          what about combining multiple Python script
                          (generated by plugin) using higher level
                          Python script to trigger multiple pipelines.
                          So, i think that this will be much efficient
                          way to look at different part of the data
                          without writing to the disk. I am not sure but
                          somebody else might do it before.<br>
                          <br>
                          Regards,<br>
                          <br>
                          --ufuk<br>
                          <br>
                          ______________________________<wbr>_________________<br>
                          Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
                          <br>
                          Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
                          <br>
                          Please keep messages on-topic and check the
                          ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaV<wbr>iew</a><br>
                          <br>
                          Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>ParaView</a><br>
                          <br>
                          Follow this link to subscribe/unsubscribe:<br>
                          <a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/paraview</a><br>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                  </blockquote>
                  <p><br>
                  </p>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <p><br>
    </p>
  </div></div></div>

</blockquote></div><br></div>