**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