YoVDO

Python Parallel and Concurrent Programming Part 2

Offered By: LinkedIn Learning

Tags

Python Courses Merge Sort Courses Parallel Programming Courses Concurrent Programming Courses Matrix Multiplication Courses

Course Description

Overview

Write more effective programs that execute multiple instructions simultaneously. Learn advanced techniques for parallel and concurrent programming in Python.

Syllabus

Introduction
  • Learn parallel programming basics
  • What you should know
  • Exercise files
1. Synchronization
  • Condition variable
  • Condition variable: Python demo
  • Producer-consumer
  • Producer-consumer threads: Python demo
  • Producer-consumer processes: Python demo
  • Semaphore
  • Semaphore: Python demo
2. Barriers
  • Race condition
  • Race condition: Python demo
  • Barrier
  • Barrier: Python demo
3. Asynchronous Tasks
  • Computational graph
  • Thread pool
  • Thread pool: Python demo
  • Process pool: Python demo
  • Future
  • Future: Python demo
  • Divide and conquer
  • Divide and conquer: Python demo
4. Evaluating Parallel Performance
  • Speedup, latency, and throughput
  • Amdahl's law
  • Measure speedup
  • Measure speedup: Python demo
5. Designing Parallel Programs
  • Partitioning
  • Communication
  • Agglomeration
  • Mapping
6. Challenge Problems
  • Welcome to the challenges
  • Challenge: Matrix multiply in Python
  • Solution: Matrix multiply in Python
  • Challenge: Merge sort in Python
  • Solution: Merge sort in Python
  • Challenge: Download images in Python
  • Solution: Download images in Python
Conclusion
  • Additional resources
  • Next steps

Taught by

Olivia Chiu Stone and Barron Stone

Related Courses

Learn Sorting Algorithms with Python
Codecademy
Understanding Sorting Algorithms
freeCodeCamp
Parallel and Concurrent Programming with Java 2
LinkedIn Learning
Web Portfolio Projects: Sortable Table and Arrays
LinkedIn Learning
Programming 102: Think Like a Computer Scientist
Raspberry Pi Foundation via FutureLearn