Thrust makes it easy to introduce parallel processing on GPUs into a research project or college course: faculty poster abstract

Erik Wynters · Journal of computing sciences in colleges · 2016

Thrust is a high-level parallel programming library similar to the C++ Standard Template Library (STL) that makes it easy to introduce parallel programming on GPUs into a research project or a college course. Parallel processing is becoming increasingly essential to fully utilize the capabilities of modern hardware. The clock speed of a single core on the CPU has pretty much leveled off. Modern CPUs have 2--8 cores running in parallel that a single-threaded program can't take advantage of. Some programs that fully utilize that capability could run 2--8 times faster using multiple threads. On the other hand, a powerful graphics processing unit (GPU) on a graphics card has 200--3000 cores that run in parallel. When fully utilized, speedups compared to a serial CPU program can equal or exceed the number of cores. GPU cores are not equivalent to CPU cores. They don't perform independent tasks efficiently. They need a lot of parallelism, regular patterns in memory access, and computationally-intensive tasks involving single-precision floating point numbers to best demonstrate their potential.

Read the paper · More papers on PaperTik