Skip to main content

EC EN 528

High Performance Parallel Computing

Electrical and Computer Engineering Ira A. Fulton College of Engineering

Course Description

Explore GPU, multi-core and distributed architectures. Programming topics include forms of parallelism, decomposition, scaling issues, data locality, computation patterns, parallel libraries, languages, and performance analysis. Parallel application examples illustrate design principles and potential performance benefits.

When Taught

Fall

Grade Rule

Standard Grade Rule: A B C D E I

Min

3

Fixed

3

Fixed

3

Fixed

2

Other Prerequisites

EC En 330 or equivalent.

Recommended

Strong programming skills are required with exposure to C/C++.

Title

Architecture

Learning Outcome

Ability to compare and contrast parallel computing architectures (GPU, SMP, cluster…).

Title

Programming models, libraries

Learning Outcome

Ability to write performant software using common parallel computation patterns (vector, matrix, convolution, stencil…).

Title

Application examples

Learning Outcome

Acquire a practical knowledge of how parallelism is used effectively in a few application examples (design principles).

Title

Labs

Learning Outcome

Ability to apply benchmarking techniques and profiling tools to analyze application performance (optimization).