CS240A: Applied Parallel Computing

This year this class is involved in a supercomputing productivity study.

Class Information

Mon, Wed: 0100-0250, Phelps 1401.
Prof. John Gilbert
  • http://www.cs.ucsb.edu/~gilbert
  • Office Hrs: Tuesdays, 10am - noon, Phelps 3220.
  • TAs

    Imran Patel
  • Office Hrs: Wednesdays, 11am - 1, GSL.
  • Viral Shah
  • Office Hrs: Fridays, 4-6 pm, CSIL.

  • Mailing Lists

  • Class Mailing List: cs240a@lists.cs.ucsb.edu (List Info)
  • Staff Mailing List (Instructor + TAs): cs240a@cs.ucsb.edu
  • Course Description

    Interdisciplinary introduction to applied parallel computing on modern supercomputers. Topics include applications oriented architecture, software systems, MPI, data parallel systems, parallel MATLAB, caches and vector processors, and parallel algorithms for numerical algorithms such as linear algebra, N-body problems, multigrid, fast multipole, wavelets and Fourier transforms, mesh generation, and partitioning. The course includes a project with hands-on emphasis on understanding the realities and myths of what is possible on the world's fastest machines.

    Class Schedule

    Monday, 03.29.2004

  • Introduction (ppt)
  • Homework-1 Out
  • Wednesday, 03.31.2004

  • Programming models I (ppt)
  • Scribes: Vineet Birman, Chunghau Lee
  • Reading Assignment (Week 2)
  • Horst Simon Interview
  • Early Evaluation of the Cray X1 (pdf)
  • MPI at Argonne, MPI User's Guide (Chapters 1 - 3) (ps) (pdf)
  • OpenMP Official Site, Livermore OpenMP Tutorial (Sections 1 - 3.6) (link)
  • Matlab*P Homepage, Matlab*P Quick Start Guide (pdf)
  • Monday, 04.05.2004

  • Programming models II (ppt) (examples)
  • Scribes: Brent Hall, Vinay Dwivedi
  • Wednesday, 04.07.2004

  • Dense linear algebra I, cache issues (ppt)
  • Scribes: Hui Dai, Selvam Balakrishnan
  • Monday, 04.12.2004

  • Parallel Sorting, Programming models III (ppt.1) (pdf.2)
  • Scribes: Razvan Suprovici, Arash Nikkar
  • Wednesday, 04.14.2004

  • Dense linear algebra II, parallel issues (ppt)
  • Scribes: Harith, Peter Kencke
  • Homework-1 Due
  • Monday, 04.19.2004

  • Simulation methods I (ppt)
  • Scribes: Michael Richmond, Hsi-Chen Lee
  • Wednesday, 04.21.2004

  • Simulation methods II
  • Scribes: Brian McKinnon, George Mathew
  • Monday, 04.26.2004

  • Simulation methods III (ppt)
  • Scribes: Michael Benny, Nang Chan
  • Homework-2 Due
  • Final Project Team and Description Due
  • Wednesday, 04.28.2004

  • Graph partitioning (ppt)
  • Scribes: Stephanie Taylor, Chen Liguo
  • Monday, 05.03.2004

  • Static and dynamic load balancing (ppt)
  • Scribes: Nisheet Goyal, Havar Valeur
  • Wednesday, 05.05.2004

  • Sparse matrix methods (1:ppt) (2:ps) (3:ps)
  • Scribes: Gurpreet Sachdev, ?
  • Monday, 05.10.2004

  • Sparse matrix methods, multigrid (ppt)
  • Scribes: Nicola Candussi, Kai Dainichi Christensen
  • Final Project Progress Report Due
  • Tuesday, 05.11.2004

  • Homework-3 Due
  • Wednesday, 05.12.2004

  • Sparse matrix-vector multiplication (ppt) (pdf)
  • Scribes: Ricky Wong, Wilson Chen
  • Monday, 05.17.2004

  • Meshes and multigrid (ppt)
  • Wednesday, 05.19.2004

  • Unified Parallel C (Parry Husbands, NERSC) (ppt) (avi)
  • Monday, 05.24.2004

  • N-body problem, fast multipole (ppt)
  • Homework-4 Due
  • Wednesday, 05.26.2004

  • Final project presentations
  • Monday, 05.31.2004

  • Memorial Day, No Class!
  • Wednesday, 06.02.2004

  • Final project presentations
  • Monday, 06.07.2004

  • Final Project Report Due
  • Tuesday, 06.08.2004

  • Final project demos (GSL 10:00 - noon)
  • Coursework

    Homeworks

  • Homework #1 (pdf) (Instructions)
  • Homework #2 (pdf) (Instructions)
  • Homework #3 (pdf) (Instructions) (FAQ)
  • Homework #4 (pdf) (Instructions)
  • Projects

  • Parallel Password Cracker
  • Andy Pippin, Wilson Chen, Brendon Hall
  • (06/02/2004) (11:15)
  • Computing the Sparse Approximate Inverse in Parallel
  • Stephanie Taylor, Gurpreetsingh Sachdev
  • (06/02/2004) (10:15)
  • DNA motif Search
  • Chunghau Lee, Mike Richmond
  • (06/02/2004) (10:00)
  • Parallelelization of a Fluid Flow Problem
  • George Mathew, Hsi-Chen Lee, Nang Chan
  • (05/26/2004) (10:45)
  • Parallel grass field simulation
  • Arash Nikkar, Razvan Suprovici
  • (05/26/2004) (11:30)
  • Parallel Cloth Simulation
  • Michael Benny, Nicola Candussi, Haavar Valeur
  • (05/26/2004) (11:45)
  • Parallelizing 3D Stokes flow simulations
  • Surya Harith Vanaparthy, Nisheet Goyal, Vinay Dwivedi
  • (05/26/2004) (10:30)
  • Parallelizing Gravity Current simulations
  • Vineet Birman, Ricky Wong, Peter Kencke
  • (06/02/2004) (11:00)

    Grading Information

  • 10% Scribing and class participation (LaTeX Template) (Sample)
  • 40% Programming homework (Instructions) (HPCS study)
  • 50% Final project (Instructions) (Some project ideas) (Teamfinding help)
  • Computing Infrastructure

  • Instructions for using the UCSB Cluster (txt)
  • Instructions for using the DataStar (User Guide) (Short Guide)
  • High Productivity Computing Systems (HPCS) Project
  • References

    Books

  • Designing and Building Parallel Programs, by Ian Foster, Addision-Wesley Publishing. (Available Online)
  • Introduction to parallel computing : Design and Analysis of parallel algorithms, by Vipin Kumar, Benjamin-Cummings Publishing. (Course Reserves)
  • Sourcebook of Parallel Computing, Jack Dongarra, Ian Foster, et al, Morgan Kauffman Publishing. (Course Reserves)
  • MPI/OpenMP/Matlab*P Documentation

  • MPI Forum
  • OpenMP Official Site
  • Matlab*P Homepage
  • A User's Guide to MPI by Peter Pacheco (ps) (pdf)
  • Introduction to OpenMP - tutorial from WOMPEI 2000 (link)
  • Writing and Tuning OpenMP Programs on Distributed Shared Memory Machines (link)
  • Matlab*P Quick Start Guide (pdf)
  • Similar Courses at Other Universities

  • Applied Parallel Computing, @MIT (link)
  • Applications of Parallel Computers, @UC Berkeley (link)
  • Parallel Numerical Algorithms, @UIUC (link)
  • Interesting Links

  • Top 500 SuperComputers
  • Dead SuperComputer Society
  • Flash mob computing
  • Top 10 Algorithms
  • For webpage-related questions, please contact: