Site Tools


parallel-computing

**This is an old revision of the document!**

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