CSE 160 (Fall 2006)
Introduction to Parallel Computation

       

Course Description

Parallel computation has a rich and varied history, and the techniques for solving problems on parallel computers are both intriguing and intellectually appealing. CSE 160 will introduce students to Parallel Computation and its application to problems--ordinary and extraordinary--arising in "everyday" computing, as well as in computational science and engineering. The goal of the course is to learn how to devise and implement parallel algorithms, to understand performance tradeoffs, and to learn how to generalize these skills to new problems. The course will provide an overview of important topics and issues for parallel architectures, models, algorithms and software.

A study of modest scale parallelism on shared memory multiprocessors will prepare students for devising and implementing parallel algorithms to utilize multi-core processors, which are becoming prevalent today, and will grow to increased scales of integration. The course provides a foundation and context from which current research in Parallel Computation can be understood and more advanced topics may be pursued.

Text:
The Art of Parallel Programming, 2nd Edition, by Bruce P. Lester 1st World Publishing, 2006, ISBN 1595408398. Be sure to get the 2nd Edition.

Catalog copy: Introduction to HPPC; parallel architecture, algorithms, software and problem-solving techniques.  Areas covered: Flynn's taxonomy, processor-memory organizations, shared and non-shared memory models; message passing and multithreading, data parallelism; speed up, efficiency and Amdahl's law, communication and synchronization, isoefficiency and scalability.  Topics; run time software techniques, compilers, and grid computing.  Assignments given to provide practical experience.

The prerequisite  for CSE 160 is CSE 100 or Math 176.


Maintained by Scott B. Baden () . Last modified: Sunday, September 24, 2006 8:42 AM