parallel-computing
**This is an old revision of the document!**
Table of Contents
Parallel computing
Parallel computing is a type of software engineering where you use parallelism (more threads, more cores, more computers) to increase the amount of computation power against a given task. There are essentially three spheres of parallel computing: 1. CPU parallelism (OpenMP), 2. distributed parallelism (MPI), and 3. GPU parallelism (CUDA).
Generally speaking, the potential speed up you'd get by parallelizing increasing $N$ cores is governed by Amdahl's law $$S(\text{N}) = \frac{1}{(1 - P) + \frac{P}{N}}$$
List of parallel computing concepts
parallel-computing.1781127984.txt.gz ยท Last modified: by Ivan Janevski
