Figure 3.
Illustration of different task parallelization approaches. (A) Simplest approach with no task parallelization. (B) Scatter-gathering approach, where task parallelization is done by the user and happens outside the software. (C) Multithreading/multiprocessing approaches, where task parallelization is done by and happens within the software. (D) Combination of multithreading/multiprocessing and scatter-gathering, where task parallelization happens outside and within the software. Yellow backgrounds highlight the multithreading and multiprocessing parallelization. Blue backgrounds highlight the scatter-gathering parallelization.