On Apr 9, 2012, at 5:06 PM, Mohammad Mirzadeh wrote:

> Hi,
> 
> I am using  'ISPartitioningToNumbering' to generate new global numbering from 
> a partitioning indexset and I'm baffled at the following situation. I'm 
> debugging my code on a simple grid consisting of 81 grid points partitioned 
> among two processes. When I look into the partitioning indexset (i.e. looking 
> at the indecies via ISView) I can see that 40 points have been assigned to 
> proc 0 and 41 to processor 1. Isn't it true that when 81 points are 
> distributed among two processors 41 should go to proc 0 and 40 to proc 1? 
> 
> I have based my whole code on the assumption (verified before through mailing 
> list i guess) that natural ordering in PETSc leads to a distribution of 
> points such that all processors get the same number of points ( [0, n/p) on 
> proc 0, [n/p, 2n/p) on proc 1, ... ) unless n%p != 0, in which case the first 
> k (with k = n%p) processors receive 1 point extra. Am I wrong to assume this?
> 
> Thanks,
> Mohammad
> 

> PS: Is it relevant that the partitioning indexset is obtained via 
> ParMetis?partitiong

   Yes, ParMetis provides no guarantee about how many points would get assigned 
to each process.

   Barry


Reply via email to