https://darkenstar.github.io/blogs/courselearning/pmpp/pmpp-ch2/
PMPP Learning-Chapter 2 Heterogeneous Data Parallel