<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Re:</p>
    <p>Please, could you if possible, provide a basic example code. I do
      not understand how to "go to the supercommunicator, incorporating
      these two groups and use VecScatter"</p>
    <p>Another question is: If I was to use "MPI calls", can I use Petsc
      Vec as a buffer ? If so, which type should I indicate
      (MPI_Datatype) in the let's say MPI_Isend method ?<br>
    </p>
    <p>Thanks<br>
    </p>
    <div class="moz-cite-prefix">On 16/02/2022 15:48, Matthew Knepley
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAMYG4G=neDrhnGhjW+Qc5D=W6wsbBZ__OwAgL=4sU7LT34mJaA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">On Wed, Feb 16, 2022 at 9:47 AM Medane TCHAKOROM
          <<a href="mailto:medane.tchakorom@univ-fcomte.fr"
            moz-do-not-send="true" class="moz-txt-link-freetext">medane.tchakorom@univ-fcomte.fr</a>>
          wrote:<br>
        </div>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
            <div>
              <p>Re:</p>
              <p><br>
              </p>
              <p>It does not apply, because "<span
                  style="color:rgb(0,0,0);font-family:"Times New
Roman";font-size:medium;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">their
                  communicator must be on the same set of processes" .</span></p>
              <p>In my case, I have two disjoint subcomm from
                PETSC_COMM_WORD with same number of processes.<br>
              </p>
              <p>I want to send information (Petsc Vec) from one subcomm
                to another subcomm.</p>
            </div>
          </blockquote>
          <div>The way I do this is to go to the supercommunicator,
            incorporating these two groups and use VecScatter.</div>
          <div>The alternative is just to use custom MPI calls as you
            say.</div>
          <div><br>
          </div>
          <div>  Thanks,</div>
          <div><br>
          </div>
          <div>     Matt <br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
            <div>
              <p>Thanks<br>
              </p>
              <div>On 16/02/2022 15:43, Junchao Zhang wrote:<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">See Notes at <a
href="https://petsc.org/main/docs/manualpages/PetscSF/VecScatterCreate.html"
                    target="_blank" moz-do-not-send="true"
                    class="moz-txt-link-freetext">https://petsc.org/main/docs/manualpages/PetscSF/VecScatterCreate.html</a>
                  <div><br>
                  </div>
                  <div>Does it apply to your case?  </div>
                  <div><br clear="all">
                    <div>
                      <div dir="ltr">
                        <div dir="ltr">--Junchao Zhang</div>
                      </div>
                    </div>
                    <br>
                  </div>
                </div>
                <br>
                <div class="gmail_quote">
                  <div dir="ltr" class="gmail_attr">On Wed, Feb 16, 2022
                    at 8:12 AM Medane TCHAKOROM <<a
                      href="mailto:medane.tchakorom@univ-fcomte.fr"
                      target="_blank" moz-do-not-send="true"
                      class="moz-txt-link-freetext">medane.tchakorom@univ-fcomte.fr</a>>
                    wrote:<br>
                  </div>
                  <blockquote class="gmail_quote" style="margin:0px 0px
                    0px 0.8ex;border-left:1px solid
                    rgb(204,204,204);padding-left:1ex">
                    <div>
                      <p>Re:</p>
                      <p>I forgot to mention that the nodes are in
                        differents communicators. Does VecScatter
                        functionnality still applies ?</p>
                      <p>Thanks.<br>
                      </p>
                      <div>On 16/02/2022 15:03, Matthew Knepley wrote:<br>
                      </div>
                      <blockquote type="cite">
                        <div dir="ltr">
                          <div dir="ltr">On Wed, Feb 16, 2022 at 8:55 AM
                            Medane TCHAKOROM <<a
                              href="mailto:medane.tchakorom@univ-fcomte.fr"
                              target="_blank" moz-do-not-send="true"
                              class="moz-txt-link-freetext">medane.tchakorom@univ-fcomte.fr</a>>
                            wrote:<br>
                          </div>
                          <div class="gmail_quote">
                            <blockquote class="gmail_quote"
                              style="margin:0px 0px 0px
                              0.8ex;border-left:1px solid
                              rgb(204,204,204);padding-left:1ex">Hello,<br>
                              <br>
                              I want to pass a Petsc Vec from one node
                              to another one. Is there any <br>
                              Petsc method for doing this<br>
                            </blockquote>
                            <div><br>
                            </div>
                            <div>You likely want the VecScatter
                              functionality. There is a discussion of
                              this in the manual: <a
href="https://petsc.org/main/docs/manual/vec/?highlight=vecscatter#sec-unstruct"
                                target="_blank" moz-do-not-send="true"
                                class="moz-txt-link-freetext">https://petsc.org/main/docs/manual/vec/?highlight=vecscatter#sec-unstruct</a></div>
                            <div><br>
                            </div>
                            <div>  Thanks,</div>
                            <div><br>
                            </div>
                            <div>    Matt</div>
                            <div> </div>
                            <blockquote class="gmail_quote"
                              style="margin:0px 0px 0px
                              0.8ex;border-left:1px solid
                              rgb(204,204,204);padding-left:1ex"> or
                              should I use MPI_Irecv and MPI_Isend for
                              non-blocking communication ?<br>
                              <br>
                              When using MPI_Isend, can i send a Petsc
                              Vec, or should I get the array <br>
                              from it, and then send it ?<br>
                              <br>
                              Thanks<br>
                              <br>
                            </blockquote>
                          </div>
                          <br clear="all">
                          <div><br>
                          </div>
                          -- <br>
                          <div dir="ltr">
                            <div dir="ltr">
                              <div>
                                <div dir="ltr">
                                  <div>
                                    <div dir="ltr">
                                      <div>What most experimenters take
                                        for granted before they begin
                                        their experiments is infinitely
                                        more interesting than any
                                        results to which their
                                        experiments lead.<br>
                                        -- Norbert Wiener</div>
                                      <div><br>
                                      </div>
                                      <div><a
                                          href="http://www.cse.buffalo.edu/~knepley/"
                                          target="_blank"
                                          moz-do-not-send="true">https://www.cse.buffalo.edu/~knepley/</a><br>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </blockquote>
                    </div>
                  </blockquote>
                </div>
              </blockquote>
            </div>
          </blockquote>
        </div>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div dir="ltr" class="gmail_signature">
          <div dir="ltr">
            <div>
              <div dir="ltr">
                <div>
                  <div dir="ltr">
                    <div>What most experimenters take for granted before
                      they begin their experiments is infinitely more
                      interesting than any results to which their
                      experiments lead.<br>
                      -- Norbert Wiener</div>
                    <div><br>
                    </div>
                    <div><a href="http://www.cse.buffalo.edu/~knepley/"
                        target="_blank" moz-do-not-send="true">https://www.cse.buffalo.edu/~knepley/</a><br>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
  </body>
</html>