Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions content/parallel-computing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@
The performance of a single CPU core has stagnated over the last ten years
and most of the speed-up in modern CPUs is coming from using multiple
CPU cores, i.e. parallel processing. Parallel processing is normally based
either on multiple threads or multiple processes.

There are two main models of parallel computing:
either on multiple threads or multiple processes:

- **Shared memory parallelism (multithreading):**

Expand All @@ -47,7 +45,7 @@
**"Embarrassingly" parallel**: If you can run multiple instances of a program and do not need to synchronize/communicate with other instances,
i.e. the problem at hand can be easily decomposed into independent tasks or datasets and there is no need to control access to shared resources,
it is known as an embarrassingly parallel program. A few examples are listed here:
- Monte Carlo analysis

Check failure on line 48 in content/parallel-computing.rst

View workflow job for this annotation

GitHub Actions / Build

Unexpected indentation.
- Ensemble calculations of numerical weather prediction
- Discrete Fourier transform
- Convolutional neural networks
Expand All @@ -62,7 +60,7 @@

In the Python world, it is common to see the word `concurrency` denoting any type of simultaneous
processing, including *threads*, *tasks* and *processes*.
- Concurrent tasks can be executed in any order but with the same final results

Check failure on line 63 in content/parallel-computing.rst

View workflow job for this annotation

GitHub Actions / Build

Unexpected indentation.
- Concurrent tasks can be but need not to be executed in parallel
- ``concurrent.futures`` module provides implementation of thread and process-based executors for managing resources pools for running concurrent tasks
- Concurrency is difficult: Race condition and Deadlock may arise in concurrent programs
Expand Down
Loading