next up previous contents
Next: HPFacts Up: Data Distribution Previous: Other Mappings

 

HPF Programming Issues

HPF is always a trade-off between parallelism and communication,

It is fairly easy to write a correct HPF program but it is an awful lot harder to write an efficient one. The technique is more or less:

  1. write a correct serial version of the intended HPF program, test and debug,
  2. add distribution directives so as to generate the minimum number of communications in pursuit of the solution.

Data locality it the key - well chosen alignment and distribution strategies will enhance performance significantly.

Programmers should always add as many directives as possible: always add INDEPENDENT directives where correct, always align things explicitly and so on.

The most important factor is to obtain a good parallel algorithm, many serial algorithms are wholly inappropriate for HPF programs.

 

Badly written programs will result in poor execution speeds:


next up previous contents
Next: HPFacts Up: Data Distribution Previous: Other Mappings

Adam Marshall ©University of Liverpool, 1996
Fri Dec 6 15:03:35 GMT 1996
Not for commercial use.