Final Exam Topics
The final exam will be cumulative, but will focus on material since the midterm.
Parallel Concepts
- Be able to define the following:
- Non-determinism.
- Race conditions.
- Thread safety.
- Be able to calculate speedup and efficiency.
- Be able to apply Amdahl's Law.
Pthreads
- Understand usage of mutexes, semaphores, conditions and read-write locks.
- Understand cache issues.
OpenMP
- Understand differences between Pthreads and OpenMP.
- Use OpenMP directives to parallelize short programs.
- Understand OpenMP scheduling and reductions.
MPI
- Be able to compare shared memory vs. message passing paradigms.
- Be able to parallelize short programs with MPI.
- Understand collective MPI communication.
CUDA
- Understand differences between GPUs and CPUs.
- Understand how CUDA uses blocks and threads.
Parallel Algorithms
- Be familiar with the MapReduce paradigm, and be able to apply it to problems.
- Be familiar with the parallel merge sort and odd-even transposition sort algorithms.
- Be able to parallelize serial algorithms.
Copyright ©
2022
Ian Finlayson | Licensed under a Attribution-NonCommercial 4.0 International License.