next up previous contents
Next: Example: 2-D FFT Up: Implementation Previous: Implications for I/O

SPMD or MIMD code generation

Another issue for the compiler is whether or not the same code image should execute on all processors. Since different processor groups may need different variables, a naive SPMD implementation is likely to be wasteful of memory since it must allocate all variables on all processors. This can be addressed by dynamic memory allocation, but at the cost of added complexity. Using different code images for different processor subsets is another solution that also leads to significant added complexity.