1 |
There is tradeoff between parallelism and communication
|
2 |
Programmer defines the data mapping and compiler uses this to assign processing
|
3 |
Underlying assumptions are that:
|
4 |
An operation on two or more data object is likely to be carried out much faster if they all reside in the same processor,
|
5 |
And that it may be possible to carry out many such operations concurrently if they can be performed on different processors
|
6 |
This is embodied in "owner computes" rule -- namely that in for instance
-
A(i,j)= .....
-
One brings everything on right hand side to process "owning" A(i,j) and performs computation in this processor
|
7 |
Owner computes algorithm is usually good and often best
|