Previous Contents Next

6   Conclusion

Data partitioning is a major performance factor in HPF programs. To help the programmer design a good data distribution strategy, we have studied the evaluation of the communication cost of a program during the writing of this program.

We have presented here a method to compute the communication volume of a HPF program. This method is based on the polyhedral model. So, we are able to handle loop nests with affine loop bounds and affine array access functions. Our method is parameterized and machine independent. Indeed all is done at the language level. An implementation is done using the polyhedral library and the PIP software.

Ongoing work includes extending this method to a larger class of programs and adding compiler optimizations in the model. The last point is quite important since the pure counting of elements exchanged is only one of the factors in the actual communication costs. We will have to recognize special communications patterns as broadcasts which can be implemented more efficiently than general communications.

We are also integrating this method in the HPF-builder tool [6].


Previous Contents Next