Approaches to Parallel Programming
Data Parallel typified by CMFortran and its generalization - High Performance Fortran which in previous years we discussed in detail but this year we will only discuss at high level
- Typical Data Parallel Fortran Statements are full array statements
- B=A1 + A2
- B=EOSHIFT(A,-1)
- Function operations on arrays representing full data domain
Message Passing typified by later discussion of Laplace Example, which specifies specific machine actions i.e. send a message between nodes whereas data parallel model is at higher level as it (tries) to specify a problem feature
Note: We are always using "data parallelism" at problem level whether software is "message passing" or "data parallel"
Data parallel software is translated by a compiler into "machine language" which is typically message passing on a distributed memory machine and threads on a shared memory