Transparent parallel image processing by way of a familiar sequential API

This paper descibes an infrastructure that enables transparent development of image processing software for parallel computers. The infrastructure's main component is an image processing library containing operations capable of running on distributed memory MIMD-style parallel hardware. Since the library has a programming interface identical to that of a familiar sequential image processing library the parallelism is completely hidden from the user. All library functions are based on an abstract parallel image processing machine (APIPM), introduced in this paper. To guide the process of automatic parallelization and optimization, a performance model is defined for operations implemented using APIPM instructions. Experiments show that for realistic image operations performance predictions are highly accurate. These results suggest that the infrastructure's core forms a powerful basis for automatic parallelization and optimization of complete applications.