GPGPU Programming for CS Undergraduates

Grayson Fenwick, Cindy Norris · 2020

Over the past few decades, Central Processing Units (CPUs) have improved exponentially, often doubling performance on a year-by-year basis. Recently progress has slowed due to the limits imposed by energy and heat. At present, instead of increasing CPU performance, manufacturers have focused on improving system performance by increasing the number of CPUs (known as cores) on a single silicon chip. A single application can benefit from the additional cores by being threaded; multiple threads can execute on different cores in parallel. Another source of parallel execution is the Graphical Processing Unit. GPUs have been used for graphics for decades. In recent years, programming interfaces have been introduced that allow the GPU to solve a variety of data parallel problems, not just problems involving graphics. This use of the GPU is known as General Purpose computing for Graphics Processing Units (GPGPU).

Read the paper · More papers on PaperTik