Skip to content

Latest commit

 

History

History
18 lines (13 loc) · 1.4 KB

README.md

File metadata and controls

18 lines (13 loc) · 1.4 KB

CSC447-Parallel-Programming

Last Updated: Spring 2018

This repository contains the work required from CSC447 students during the lab. Solutions will be added on a weekly basis as well as some references and go-to websites.

About the Course

This undergraduate course provides an introduction to prallel programming with a focus on multicore architectures and cluster programming techniques. Topics include relevant architectural trends and aspects of multicores, writing multicore programs and extracting data parallelism using vectors and SIMD, thread-level parallelism, task-based parallelism, efficient sybchronization, program profiling, and performance tuning. Message-passing cluster-based parallel computing is also introduced. The course includes several programming assignments to provide students first-hand experience with programming, and experimentally analyzing and tuning parallel software.

Course Learning Outcomes

  1. Students shall demonstrate an ability to design, analyze, and implement shared-memory programming applications on multicore systems.
  2. Students shall demonstrate an ability to design, analyze, and implement message-passing programming applications on a cluster of workstations.
  3. Students shall demonstrate an ability to analyze the efficiency of a given parallel algorithm.
  4. Students should understand the challenges of as well as the motivations for using parallel programming.