Contribute Media
A thank you to everyone who makes this possible: Read More

Shared Memory Parallelism with Python

Description

Python threads cannot utilize the power of multiple CPUs. Other solutions such multiprocessing or MPI wrapper are based on message passing, resulting substantial overhead for certain types of tasks.

While pure Python does not support shared memory calculations, Cython combined with OpenMP can provide full access to this type of parallel data processing.

This talk gives a whirlwind tour of Cython and introduces Cython's OpenMP abilities focusing on parallel loops over NumPy arrays. Source code examples demonstrate how to use OpenMP from Python. Results for parallel algorithms with OpenMP show what speed-ups can be achieved for different data sizes compared to other parallelizing strategies.

Details

Improve this page