Demystifying Parallel Programming in Python
Understanding the Hardware Basics
- A gentle introduction to modern processors: What are CPUs, GPUs, TPUs, and quantum processors?
- Essential terminology explained: cores, hyper-threading, cache memory, multithreading, multiprocessing, multitasking, SIMD, NUMA, and more—no prior knowledge required!
Parallel Programming Techniques for Beginners
A practical overview of Python’s parallel programming tools, organized by approach:
- Just-In-Time (JIT) compilation: Speed up your code without changing your workflow
- Multithreading: Do more at once, and removing the GIL with Python 3.13+
- Multiprocessing: Use all your CPU cores
- Distributed computing: Scale your code across multiple machines
- Quantum programming: A first look at the future of computing
Hands-On Examples
- JIT compilation made easy: PyPy, Numba, and JAX
- The GIL and Python 3.13: What’s changing and why it matters
- Distributed computing for everyone: Celery and Dask on HPC clusters
- GPU computing for beginners: CuPy, cuDF, and Numba
- Your first quantum “Hello World”: A taste of the quantum revolution
Conclusion
By the end of this talk, you’ll have a clear map of Python’s parallel programming landscape.
No experience needed—just bring your curiosity and let’s explore together!
Gaël Pegliasco
Python Developer & Trainer
Specializing in Machine Learning and Parallel Computing with NumPy, Pandas, Scikit-Learn, TensorFlow, PyTorch, MPI, Dask, and more.