In these days, we have many devices with massively parallel processing features. As a good example, modern graphics cards can execute more than 1,024 physical processing cores simultaneously. In contrast, we still have no plentiful support in software tools and development kits. In this tutorial, we will introduce the modern massively parallel processing platforms, focusing on the CUDA and OpenCL. Our tutorial will cover the underlying philosophy, abstract hardware models, parallel processing platforms, widely-used algorithms, and more details. Our practical examples will cover 1D array handling, 2D matrix multiplication, and reduction techniques. Our tutorial will be a strong start point to the modern massively parallel processing world. After taking our tutorial, you will have basic but firm knowledge on the massively parallel processing platforms, and you can easily start your own learning and adaptation to a specific massively parallel processing tools, such as CUDA, OpenCL, and Vulcan.

Tutorial “Introduction to Massively Parallel Processing” by Dr. Baek