EECS 739: Parallel Scientific Computing, Spring 2019

Instructor

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

Course Information and Policies

Syllabus

Teaching Lecture Slides

Application of Parallel Numerical Linear Algebra to Acoustics
Principles of Parallel Algorithm Design: Concurrency and Decomposition
Principles of Parallel Algorithm Design: Concurrency and Mapping
Programming Using the Message-Passing Paradigm
Expanded Version of Chapter 6
Expanded Version of Chapter 5 on Analytical Modeling
Parallel Gauss-Jacobi and Gauss-Seidel (UIUC)
Parallel Gauss-Jacobi and Gauss-Seidel (Stanford)
Opportunities in Parallel Scientific Computing

Example C/C++ Code

LUFactorization.cpp

Example MPI + C/C++ Code

Examples from MPI tutorials
Sources for MPI tutorials (including the ones provided above)
Parallel matrix-matrix multiplication code

Instructions for Submitting Serial and Parallel Jobs to the ITTC SLURM Cluster

Directions for Submitting Parallel Jobs to Cluster
SLURM Template Serial PBS Script
Completed Serial PBS Script
SLURM Template Parallel PBS Script
Completed Parallel PBS Script

Example CUDA Code

VecAdd.cu (Vector addition)
Document explaining matrix multiplication GPU codes
MultNoShare.cu (Matrix Multiplication without shared memory)
multNoShare.h (Header file for use with MultNoShare.cu)
MultShare.cu (Matrix Multiplication with shared memory)
multShare.h (Header file for use with MultShare.cu)
Gradient Descent CUDA code

Instructions for Submitting CUDA Jobs to the ITTC SLURM Cluster and the EECS Cycle Servers

How to submit CUDA jobs to ITTC and EECS

Homework

Homework 1
Homework 2
Homework 3

Midterm Exam

Practice Midterm Exam
Midterm Exam

Final Project

Project Description