CS 140: Parallel Computing

Winter Quarter, 2026


  • Lectures: M W 9:30-10:45 LSB 1001
    Discussion Section: Thur 1:00-1:50 PHELP 2516, 4:00- 4:50 GIRV 1119 or 5:00- 5:50 PHELP 1425

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

  • TAs:
    Shanxiu He (Office Hours: Fri 10:00 AM-12:00 PM, HFH 5106)
    Gyuwan Kim (Office Hours: Tue/Thu 3:00-4:00 PM, HFH 5106)
    Guanyu Yao (Office Hours: Mon 3:00-4:00 PM, Wed 3:00-4:00 PM, Henly Hall 2118)

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
  • SIMD and cache-aware programming
  • 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: