AUTOMATIC PARALLELIZING COMPILER FOR DISTRIBUTED MEMORY PARALLEL COMPUTERS: NEW ALGORITHMS TO IMPROVE THE PERFORMANCE OF THE INSPECTOR/EXECUTOR

The SPMD (Single-Program Multiple-Data Stream) model has been widely adopted as the base of parallelizing compilers and parallel programming languages for scientific programs [1]. This model will work well not only for shared memory machines but also for distributed memory multicomputers, provided that; ■ data are allocated appropriately by the programmer and/or the compiler itself, ■ the compiler distributes parallel computations to processors so that interprocessor communication costs are minimized, and ■ codes for communication are inserted, only when necessary, at the point adequate for minimizing communication latency.