CSE 160 (Fall 2008)
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. It will focus on programming of multi-core processors, which are the latest trend in processor design.

CSE 160 provides a foundation for pursuing more advanced topics in parallel computation, and conducting research in this exciting field.

Text: Parallel Programming, Calvin Lin and Larry Snyder. Addison-Wesley, ISBN 0321487907.

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 baden @ ucsd.
edu   [ Mon Sep 22 13:51:36 PDT 2008 ]