Research Lecture Slides:
Parallel linear solver for acoustics problems involving vibrating structures immersed in fluids (from Ken Czuprynski's M.S. thesis at Penn State, 2012)
Teaching Lecture Slides:
Chapter 3: Principles of Algorithm Design (slides by George Karypis)
Chapter 3: Principles of Parallel Algorithm Design (slides by Ananth Grama)
Chapter 6: Programming Using the Message Passing Paradigm (slides by Irene Moulitsas)
Chapter 5: Analytical Modeling of Parallel Programs (slides by Rezaul Chowdhury)
Iterative Linear Systems (slides by Michael Heath)
Homework
Homework 1
Homework 2
Homework 3
Homework 4
Homework 5
Example C/C++ Code
LUFactorization.cpp
Information on Running Jobs on the Slurm Cluster
Template PBS script for submitting jobs to cluster
Instructions for monitoring cluster jobs
Example MPI + C/C++ Code
Examples from MPI tutorials
Sources for MPI tutorials (including the ones provided above)
Parallel matrix-matrix multiplication code
Information on Running Parallel Jobs on the Slurm Cluster
Directions for submitting jobs to cluster
Template PBS script for submitting parallel jobs to cluster
Example GPU Codes:
GPU script for use with VecAdd.cu
VecAdd.cu (Vector addition)
Document explaining matrix multiplication GPU codes
GPU script for use with MultNoShare.cu
MultNoShare.cu (Matrix Multiplication without shared memory)
multNoShare.h (Header file for use with MultNoShare.cu)
GPU script for use with MultShare.cu
MultShare.cu (Matrix Multiplication with shared memory)
multShare.h (Header file for use with MultShare.cu)
Gradient Descent CUDA code
Exams
Practice Midterm Exam
Midterm Exam
Practice Final Exam
Final Exam