Home
CPSC 425
CPSC 425: Parallel Computing
Syllabus
Course Notes:
Course Introduction
Intro to C
Intro to C continued
Parallel Hardware
Parallel Software
Introduction to Pthreads
Critical Sections & Mutexes
Semaphores
Read-Write Locks
Barriers & Conditions
Cache Systems
Introduction to OpenMP
Reductions & Parallel For
OpenMP Loop Scheduling
OpenMP Synchronization
Parallel Search
Parallel Sorting
Introduction to MPI
MPI Continued
Collective Communication
MPI Odds & Ends
Distributed Sorting
Introduction to CUDA
CUDA Continued
GPU Architecture
Labs:
Lab 1: Pthreads
Lab 2: Thread Timing
Lab 3: Deadlock
Lab 4: False Sharing
Lab 5: OpenMP
Lab 6: MPI
Lab 7: Collective Communication
Lab 8: MPI Deadlock
Assignments:
Knapsack Solver
Horizontal Image Blur
Forest Fire Simulation
Bin Packing Approximation
Sample programs:
Pthreads parallel sum
Parallel Travelling Salesman
Parallel String Matching
Parallel Merge Sort
Odd/Even Transposition Sort
Julia Set
Resources:
Pthreads Man Pages
MPI Man Pages
Copyright © 2024 Ian Finlayson | Licensed under a
Creative Commons BY-NC-SA 4.0
License.