CS 140: Parallel Scientific Computing

Spring Quarter, 2014


  • Class schedule: Tuesday/Thursday. 11:00-12:15 GIRV 1115

  • Instructor: Tao Yang (tyang at cs). Office Hours: Tuesday/Thursday 12:30-1:30pm (or email me for appointments or just stop by my office). HFH building, Room 5113

  • Supercomputing consultant: Kadir Diri and Stefan Boeriu
  • TAs
    • Xin Jin (xin_jin at cs) and Steven Bluen (sbluen at cs)


This course covers high-performance parallel/distributed computing systems and scientific applications on modern computers. Topics include
  • Parallel architecture, high performance computing, and performance evaluation
  • Patterns of parallelism and program partitioning/mapping.
  • Distributed memory programming with message-passing interface (MPI)
  • Shared memory programming with Pthreads (and OpenMP if time permits).
  • Data-intensive parallel programming with MapReduce and Hadoop.
  • Parallel algorithms for scientific and data-intensive computing such as numerical integration, matrix multiplication, linear equation/PDE solving, sorting, and tree search.
The expected work includes group homework/programming assignments (students can work in a group of two) and exams.

Prerequsites : Data structure and algorithms (CS 130A). Linear algebra (e.g. Math 5A or 4A). Programming experience with C and Java on Linux.


Course Information:

Text book and reading material:

The text book will be "An Introduction to Parallel Programming" by Peter Pacheco, 2011. Additional reading materials will be assigneded.

Related Links:

  • Textbook website (Source code. Errata). Publisher (Slides).
  • MapReduce tutorial, Hadoop/MapReduce
  • UCSB Supercomputing page . Ssh key generation for account application
    Last modified: 3/30/2014