High Performance Fortran and its precursors are based on a sequential language where data parallelism is expressed through the use of array assignments of parallel loops. HPF compilers generate code according to the SPMD model and the owner-computes rule: each processor executes only the statements that modify the data assigned to it by the distribution. This approach constitutes the basis of several compilers [3, 4] and is also applied in the P_ANDORE compiler [2]. For each parallel nested loop, the P_ANDORE compiler produces a SPMD code that comprises a communication part and a computation part. It performs the restriction of iteration domains and the vectorization of messages.
展开▼