vatai / mpk

Matrix powers kernel
1 stars 0 forks source link

Figure out number of phases backward which can do communication with current phase. #18

Closed utsavsinghal5 closed 5 years ago

vatai commented 5 years ago

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/partition p2 needs idx it will be copied from p1 (which is ok). But if in a later phase p2 needs idx again, it will copy it again from p1 because it will think it is only available there because of store_part[idx]=p1 (while store_part[idx]=p2 is also true... so store_part[idx]={p1, p2} would be more accurate).

I am not sure if this scenario is possible... maybe near the "partition borders"...

utsavsinghal5 commented 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.

vatai commented 5 years ago

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).