This is a rule oft-used in HPF Compilation Systems. It says that:
the processor that owns the left-hand side element will perform the calculation.
For example, in
DO i = 1,n a(i-1) = b(i*6)/c(i+j)-a(i**i) END DO
the processor that owns a(i-1) will perform the assignment. The components of the RHS expression may have to be communicated to this processor before the assignment is made.
As this is a rule of thumb it is not always followed, for example, if all the RHS objects are co-distributed then, instead of all the RHS elements being sent to the owner of the LHS for computation, the computation of the result may take place on the home processor of the RHS elements and then be sent to the owner of the LHS for assignment. This would reduce the number of communications required.
It is up to the compiler to decide when to follow the owner-computes rule and when not to.
Return to corresponding overview page