Closed utsavsinghal5 closed 5 years ago
Yes, you are quite close to what I am thinking. So basically to copy do we need to look at just phase-1 or it might be in phase-2 plus in the same partition too.
But this is sort of solved. We are not using phase-1
anywhere anymore. We use store_part[idx]
. So if we need a vertex k
, then is_diff_part
will look if the current partition is different than store_part[k_vvidx]
. And store_part[k_vvidx]
could have been set in phase-1
or phase-101
(so to speak).
I don't know if this is what you mean... so let me give an example. Currently, we have
store_part[idx]=p1
. So if process/partitionp2
needsidx
it will be copied fromp1
(which is ok). But if in a later phasep2
needsidx
again, it will copy it again fromp1
because it will think it is only available there because ofstore_part[idx]=p1
(whilestore_part[idx]=p2
is also true... sostore_part[idx]={p1, p2}
would be more accurate).I am not sure if this scenario is possible... maybe near the "partition borders"...