x = y@f(me) x@me= y@f(me)which are equivalent, and where f(me) is explicitly written in the statement. Thus, compiler analysis need only look at the Planguage statement.
In general, a definition of process identifier as a function of thisnode can occur anywhere in the code. This requires analysis not practically possible in the current translators.
We do not attribute semantics to cases where procId < 0 and where proc > nproc0. Functions need not be invertible, that is the inverse may be a relation. For example,
nProc = 4 a@me = b@MOD(me,2)results in the receivers (domain) and the range (senders) in the following table.
domain range 0 0 1 1 2 0 3 1Since the inverse of MOD(me,2) is a relation, some processes can send to more than one other process.
Also note that the right-hand side process destination must be either me, or left unspecified, in which case me is implied.