A higher level approach makes Array
classes into true
container classes (for a restricted set of types), and all operations on
arrays collective.
ArrayFloat a = new ArrayFloat(p, x, y) ; ArrayFloat b = new ArrayFloat(p, x, y) ; ArrayInt c = new ArrayInt(p, x, y) ; a = MATMUL(b, c) ;Communication subsumed into collective array operations. Elements not accessed directly in the Java program.
Can implement on top of previous SPMD Java array library, or by making Java program run as a sequential master program controlling parallel back end. Compare with HPF Interpreter, A++/P++, etc.
Hampered by lack of user-defined operator-overloading in Java.