Shared Memory Parallelism in Julia with Multi-Threading - Parallel Depth-First Scheduling
Explore shared memory parallelism in Julia through this 27-minute conference talk from the Cambridge Julia Meetup in May 2018. Dive into the challenges of nested parallelism and learn about parallel depth-first scheduling as a promising solution. Discover the implementation of PDF scheduling in Julia, including the parallel task runtime (partr) and its handling of priority queues and nested parallelism. Gain insights into why effective threading models are crucial for high-performance computing and how Julia aims to overcome limitations found in existing models like OpenMP and work-stealing algorithms. Follow along with detailed examples, including matrix multiplication, to understand the space complexity issues in parallel programming. Conclude with a Q&A session discussing Julia's suitability for implementing advanced parallel computing concepts.