EECS 739: Scientific Parallel Computing, Spring 2016

Instructor

Dr. Suzanne Shontz
Department of Electrical Engineering and Computer Science
University of Kansas

Course Information and Policies

Syllabus

Lecture Materials

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