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 (e.g. more threads, more processes, more nodes, etc.) to increase the amount of computation power you use to tackle a problem. There are essentially three spheres of parallel computing: 1. CPU parallelism (OpenMP), 2. distributed parallelism (MPI), and 3. GPU parallelism (CUDA).
Parallel computing is related to performance engineering. This makes sense, because throwing more, but this is Amdahl's law. $$\text{SpeedUp}(\text{N-cores}) = \frac{1}{(1 - P) + \frac{P}{N}}$$
parallel-computing.1781124159.txt.gz ยท Last modified: by Ivan Janevski
