CS 140: Parallel Computing

Winter Quarter, 2025


  • Lectures: M W 9:30-10:45 PHELP 1160
    Discussion Section: Thur 4:00- 4:50 PHELP 1445 or 5:00- 5:50 PHELP 1448

  • Instructor: Tao Yang (tyang at cs).
    Office Hours: Mon/Wed after class -11:45

  • TAs:
    Parker Carlson (Office Hours: Tues. 1:00-3:00 PM, HFH 5106)
    Shanxiu He (Office Hours: Mon/Thur 8:30-9:30 AM, HFH 5106)

Topics : This course covers parallel computing 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 OpenMP and Pthreads
  • Program parallelization of core algorithms in machine learning and scientific computing (matrix multiplication, equation solving, and model training)
  • CUDA parallel programming with GPUs
  • MapReduce and Spark programming for data intensive cloud computing
The expected work includes 5 homework exercises, parallel programming assignments with C (distributed memory, shared memory, and GPU), and exams.

Prerequsites :

  • Linear algebara (Math 4A).
  • Programming experience with C on Linux.
  • Knowledge of data structure and algorithms (mainly arrays and lists)
  • Concepts: Algorithm complexity and partial derivatives


Course Information: