ECE 492
Introduction to Parallel Programming

Displaying course information from Fall 2013.

Section Type Times Days Location Instructor
D3 LCD 1100 - 1215 W F   0216 Siebel Center for Comp Sci  Laxmikant Kale
D4 LCD 1100 - 1215 W F   0216 Siebel Center for Comp Sci  Laxmikant Kale
Web Page
Official Description Course Information: Same as CS 420 and CSE 402. See CS 420.
Course Prerequisites Credit in CS 400 or CS 225
Course Directors Department of Computer Science
Detailed Description and Outline


  • 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

Same as CS 420 and CSE 402

No text.
Last updated: 2/13/2013