1 | Sequential - Traditional codes - "dusty deck FORTRAN or COBOL or C++ etc, typically "single threaded". |
2 | Data Parallel - Synchronous: Tightly coupled, software needs to exploit features of problem structure to get good performance. Comparatively easy as different data elements are essentially identical. |
3 | Data Parallel - Loosely Synchronous: As above but data elements are not identical. Still parallelises due to macroscopic time synchronisation. |