Parallel Algorithms
Offered By: Indian Institute of Technology Guwahati via Swayam
Course Description
Overview
A conventional algorithm uses a single processing element. A parallel algorithm assumes that there are multiple processors. These processors may communicate with each other using a shared memory or an interconnection network. An algorithm designed for a large number (for example, a polynomial in the problem size) of processors can be simulated on a machine with a small number of processor for a trade off on time, and therefore is of practical value, while at the same time allowing us to test the limits of parallelism. Many algorithmic design techniques in the parallel setting will be explored. Parallel complexity theory will also be briefly studied.
Syllabus
Week 1 : Theoretical models: PRAM, interconnection networks
Week 2 : Performance of parallel algorithms,Basic techniques
Week 3 : Basic techniques
Week 4 : Comparator Networks.
Week 5 : Optimal List ranking, applications
Week 6 : Algorithms for searching, merging and sorting. Cole’s Merge Sort
Week 7 : Cole’s Merge Sort(cont’d), Graph algorithms
Week 8 : Graph algorithms (cont’d)
Week 9 : Sorting in meshes, Hypercube algorithms, Butterfly network, CCC, Benes network
Week 10 : Butterfly network, CCC, Benes network etc
Week 11 : Limits to parallelizability. Lower bounds
Week 12 : Limits to parallelizability. NC-reductions, P-completeness.
Taught by
Prof. Sajith Gopalan
Tags
Related Courses
Advanced Algorithms and ComplexityUniversity of California, San Diego via Coursera Advanced Learning Algorithms
DeepLearning.AI via Coursera Advanced Modeling for Discrete Optimization
University of Melbourne via Coursera Advanced Modeling for Discrete Optimization 离散优化建模高阶篇
The Chinese University of Hong Kong via Coursera Artificial Intelligence Algorithms Models and Limitations
LearnQuest via Coursera