A technique, permitting automatic finding coarse grained parallelism in algorithms presented with arbitrary nested loops, is presented. The technique is based on finding affine space partition mappings. The main advantage of this technique is that it allows us to form constraints for finding mappings directly in a linear form while known techniques result in building non-linear constraints which should next be linearized. After finding affine space partition mappings, well-known code generation approaches can be applied to expose algorithm parallelism. It is shown how this technique can be applied for parallelizing computational geometry algorithms by means of two examples.
展开▼