Dear Matthew: They have the same distribution according to the distribution I have mentioned about submatrix? Could you give me more details? thanks a lot.
Regards, Yujie On Fri, Jan 2, 2009 at 6:20 PM, Matthew Knepley <knepley at gmail.com> wrote: > On Fri, Jan 2, 2009 at 7:58 PM, Yujie <recrusader at gmail.com> wrote: > >> Dear Barry: >> >> When using MatGetSubmatrix() to get a submatrix in parallel mode, to my >> knowledge, this function will exact the rows and cols for submatrix. This >> submatrix is not redistributed. For example, if there is zero row and zero >> col in a process, the row and col of this submatrix in this process are >> zero, right? >> However, to get a subvector using Vec scatter, the user needs to create >> the subvector using MPI_COMM, that is new distribution for subvector is >> generated. Just regarding only rows or cols of the submatrix and the >> subvector, their distribution should be different even if using the same >> index to get them, right? thanks a lot. > > > No. They work exactly the same way. > > Matt > > >> >> Regards, >> Yujie >> >> On Fri, Jan 2, 2009 at 5:15 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: >> >>> >>> The ix and iy are always global indices based on where the vector >>> lives. >>> >>> If you are going from a parallel to parallel vector then both indices >>> are "global" >>> >>> Barry >>> >>> >>> On Jan 2, 2009, at 2:21 PM, Yujie wrote: >>> >>> Dear Barry: >>>> >>>> I have a new question about the parameter "iy"(new index set of >>>> subvector). To parallel vector, how to provide "ix" and "iy"? >>>> >>>> Just providing the local index subset for "ix" and "iy"? if it is, it is >>>> a little difficult to let the local vector know its global position in the >>>> new subvector? If the user needs to provide the global position of local >>>> vector for "iy". some MPI communication should be needed, it looks like not >>>> a good method. In exacting submatrix, the function hides this problem. >>>> could >>>> you give me any comments? thanks a lot. >>>> >>>> Regards, >>>> >>>> Yujie >>>> >>>> >>>> On Fri, Jan 2, 2009 at 11:46 AM, Barry Smith <bsmith at mcs.anl.gov> >>>> wrote: >>>> >>>> VecScatter is for this purpose. >>>> >>>> Rational: extracting subparts of vectors for ghost points etc takes >>>> place many times in a simulation; maybe millions. >>>> Thus separating it into a set-up followed by many uses is a worthwhile >>>> optimization. Extracting submatrices occur >>>> much less often in a simulation, maybe tens, hundreds or thousands of >>>> times so it is not worth the extra complexity >>>> of having separate set-up followed by many uses. One could argue that >>>> uniformity of design means we should have >>>> handled matrices with a MatScatter concept to parallel the Vec approach, >>>> but it is too late now :-). >>>> >>>> Barry >>>> >>>> >>>> On Jan 2, 2009, at 1:41 PM, Yujie wrote: >>>> >>>> Like MatGetSubMatrix(), whether is there a function to get a subvector >>>> in parallel mode? I have checked some scatter functios, they don't likely >>>> work. thanks a lot. >>>> >>>> Regards, >>>> >>>> Yujie >>>> >>>> >>>> >>>> >>> >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090102/feda634b/attachment.htm>
