Thanks! On 02/17/2014 03:39 PM, Matthew Knepley wrote: > On Mon, Feb 17, 2014 at 8:05 AM, Florian Meier <[email protected] > <mailto:[email protected]>> wrote: > > Thank you very much for your review. > > On 02/17/2014 02:50 AM, Abhyankar, Shrirang G. wrote: > > Hi Florian, > > I was able to run your example with a small change (used PetscMalloc > > instead of PetscMalloc1). > > That is strange. When I use PetscMalloc, it says "Memory corruption!". > > > Run under valgrind. There is a bug in the code.
I didn't notice that the input parameters to PetscMalloc are different... Now it is ok. > > However, the solution on more than 1 processor > > is different presumably because of some work "TODO" for the ghost > vertices. > > I do not really understand these ghost vertices. I thought it would be > ok to just skip those when I iterate over the vertices, but not when I > iterate over the edges, but apparently that is not the case. > > > Here is how the parallelism works. We partition the edges into disjoint > sets, one for > each process. Vertices shared by edges on different processes are > duplicated, with > the "ghost" vertex sitting on all processes that do not own the vertex. So the x values for the ghost vertices are always synchronized automatically?
