CSC413 Parallel and Distributed Computing

Hikmat Farhat. Notre Dame University-Louaize

Description

This is a first course in parallel and distributed computing. It is mostly hands-on using C++. Topics include: multithreading, synchronization, OpenMP,TBB,CUDA and MPI.

Prerequisite

  1. Good knowledge of C++. We will start the course with a quick review of C++, but the pace is fast and the emphasis will be on features of “modern” C++, such as move semantics, lambdas,smart pointers…
  2. Basic knowledge of computer architecture course, such as CPU instructions, registers, RAM and cache.

Assessment

All homeworks require the use of Github where your submission is autograded. A basic knowledge of Git and a Github account is mandatory.

For your convenience each homework starts from a skeleton repository, including build files for MSVC++ and cmake