ECE 492 - Introduction to Parallel Programming

Summer 2009 | Fall 2009 | Spring 2010 | Summer 2010
Section Type Times Days Location Instructor
D3 LCD 1100 - 1150 M W F   1109 Siebel Center for Comp Sci  Laxmikant Kale
D4 LCD 1100 - 1150 M W F   1109 Siebel Center for Comp Sci  Laxmikant Kale

Web Page http://www.cs.uiuc.edu/undergraduate/courses.php?course=cs420
Official Description Same as CS 420 and CSE 402. See CS 420.
Hours 3 or 4 hours.
Course Prerequisites Credit in CS 400 or CS 225
Course Directors Department of Computer Science
Description Introduction to fundamental issues in design and development of parallel programs for various types of parallel computers. Various programming models according to both machine type and application area. Cost models, debugging, and performance evaluation of parallel programs with actual application examples.
Notes Same as CS 420 and CSE 402
Credit 3 or 4 hours
Topics
  • Ideal and real machine models: vector (pipelined) processors, array machines, shared-memory multiprocessors, message-passing multiprocessors, others; programming constructs native to each class of machines
  • Programming models and their languages: data-parallel models (array parallelism, parallel loops), process-based models; illustrative examples, such as matrix multiplication, sorting, and the n-body problem
  • Cast models and efficiency analysis of parallel programs
  • Parallel programming issues: locality, grain size, scheduling, load balancing, data distribution and alignment, communication analysis, synchronous programming, determinacy and nondeterminacy
  • Debugging parallel programs
  • Performance measurement, evaluation and tuning
  • Application case studies, e.g., from computational fluid dynamics, computational biology, and operations research
  • Optional topic selected, e.g., from discrete event simulation, grid-structured computations, tree-structured computations, sparse and dense linear systems, parallelizing compilers
Course Prerequisites CS 400 or CS 225.
Texts No text.