LEARN MORE ABOUT PARALLEL PROGRAMMING TECHNIQUES BY IMPLEMENTING A HISTOGRAM ON GPU

Authors

  • Dejan Kojic

DOI:

https://doi.org/10.7251/STEDZ2401318B

Keywords:

Histogram, Parallel primitives, Parallel programing, CUDA, GPU

Abstract

A histogram is a graphical representation of the distribution of data, commonly used as an analysis tool in statistics to visualize the frequency distribution of a dataset. Our focus of interest lies in the Frequency Histogram, a special graph that employs vertical columns to illustrate the frequency of occurrence of each data element.
Here, we will present a parallel SIMT (Single Instruction Multiple Threads) Histogram algorithm. This algorithm is composed of basic parallel primitives like sorting and parallel compact. Implementing in this manner for educational endeavors allows students to delve into the details, learn, and enhance their understanding of the CUDA parallel programming model. The presented algorithm utilizes a sparse representation of the vector to store results, distinguishing it from well-known standard parallel Histogram algorithms. Besides delving into the details of implementing parallel primitives, we will also discuss how to perform an efficiency evaluation of the parallel program.

Published

2024-10-30