Why OpenMP
- Parallel programming landscape before OpenMP
- Standard way to program distributed memory computers (MPI and PVM)
- No standard API for shared memory programming
- Several vendors had directive based API for shared memory programming
- Silicon Graphics, Cray Research, Kuck & Associates, DEC
- All different, vendor proprietary, similar but different spellings
- Most were targeted at loop level parallelism
- Commercial users, high end software vendors have big investment in existing code
- End result: users who want portability forced to program shared memory machines using MPI
- Library based, good performance and scalability
- sacrifice the built in shared memory advantages of hardware
- Requires major effort
- Entire program needs to be rewritten
- New features needs to be curtailed during conversion