in contrast, does specifically imply the practical considerations of hardware and software implementation. A parallel programming language may be based on one or a combination of programming models. For example, High Performance Fortran is based on shared-memory interactions and data-parallel problem decomposition, and Go provides mechanism for shared-memory and message-passing interaction. Example parallel programming models See also Automatic parallelization Bridging model Concurrency Degree of parallelism Explicit parallelism List of concurrent and parallel programming languages Optical Multi-Tree with Shuffle Exchange Parallel external memory (Model) References Further reading Programming model Programming paradigms Concurrent programming languages