lecture 14 parallel algorithms
play

Lecture 14: Parallel Algorithms Abhinav Bhatele, Department of - PowerPoint PPT Presentation

Introduction to Parallel Computing (CMSC498X / CMSC818X) Lecture 14: Parallel Algorithms Abhinav Bhatele, Department of Computer Science Communication algorithms Reduction All-to-all Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 2


  1. Introduction to Parallel Computing (CMSC498X / CMSC818X) Lecture 14: Parallel Algorithms Abhinav Bhatele, Department of Computer Science

  2. Communication algorithms • Reduction • All-to-all Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 2

  3. Types of reduction • Scalar reduction: every process contributes one number • Perform some commutative associate operation • Vector reduction: every process contributes an array of numbers Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 3

  4. Parallelizing reduction Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  5. Parallelizing reduction • Naive algorithm: every process sends to the root Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  6. Parallelizing reduction • Naive algorithm: every process sends to the root • Spanning tree: organize processes in a k-ary tree Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  7. Parallelizing reduction • Naive algorithm: every process sends to the root • Spanning tree: organize processes in a k-ary tree • Start at leaves and send to parents • Intermediate nodes wait to receive data from all their children Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  8. Parallelizing reduction • Naive algorithm: every process sends to the root • Spanning tree: organize processes in a k-ary tree • Start at leaves and send to parents • Intermediate nodes wait to receive data from all their children • Number of phases: log k p Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  9. All-to-all • Each process sends a distinct message to every other process • Naive algorithm: every process sends the data pair-wise to all other processes https://www.codeproject.com/Articles/896437/A-Gentle-Introduction-to-the-Message-Passing-Inter Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 5

  10. Virtual topology: 2D mesh • Phase 1: every process sends to its row neighbors • Phase 2: every process sends to column neighbors Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 6

  11. Virtual topology: hypercube • Hypercube is an n-dimensional analog of a square (n=2) and cube (n=3) • Special case of k-ary d-dimensional mesh https://en.wikipedia.org/wiki/Hypercube Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 7

  12. Abhinav Bhatele 5218 Brendan Iribe Center (IRB) / College Park, MD 20742 phone: 301.405.4507 / e-mail: bhatele@cs.umd.edu

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend