[ news | information | lectures | problem sets | links ]

CS156 - Spring 2003
TR 9:35-10:50 in Andrew 157
Prof. Chen


You should check here regularly for general updates.
  • 7/30/2004: I've archived all of the notes and problem sets and am only leaving up the syllabus for reference. If you're looking for the material, you may be able to find a link to a more recent offering of the class here.
  • Information

    CS156 is an upper division computer science course on parallel computing. Its primarily goal is to give students an overview of the roles of computer architecture, languages, operating systems, networks, algorithms, and so on in the field of parallel computing. Lectures will discuss metrics for evaluating and techniques for improving parallel performance. We will also examine case studies of architectures, algorithms, and applications. CS140 and CS110 are prerequisites.

    There will be 4 or 5 assignments during the semester, all of which will require writing code. Students will also be expected to do a final project.

    CS 156 meets on Tuesdays and Thursday from 9:35-10:50 in Andrew 157.


    Week Tuesday Thursday
    1/21 introduction to parallel computing uniprocessors, SIMD machines, vector architectures
    1/28 message passing machines shared memory machines
    2/04 other parallel architectures discussion of ps1
    2/11 MPI threads
    2/18 other languages (HPF, ZPL, NESL) *** no class (SIGCSE) ***
    2/25 discussion of ps2 parallel compilers
    3/04 measures of performance parallel algorithms (prefix sum, MST)
    3/11 models of parallel computation discussion of ps3
    3/18 *** spring break *** *** spring break ***
    3/25 partitioning partitioning
    4/01 n-body problem data structures (pseudocode: <ps> <pdf>)
    4/08 poisson equation paper presentations
    4/15 paper presentations paper presentations
    4/29 project presentations project presentations
    5/06 wrap-up *** no class (end of semester) ***

    Problem Sets

  • Matrix multiplication
    Posted January 22; due February 6 (8AM)
  • Introduction to MPI and pthreads
    Posted February 11; due February 25 (8AM)
  • Efficient parallel sparse matrix-vector multiplication
    Posted February 28; due March 13 (8AM)

    On March 13th you should also hand in 1-2 paragraphs sketching out a proposed final project.

  • Links

  • Books on parallelism in my office this semester.