An introduction to parallel programming. (2021)