Dr. Charles Cusack, Computer Science
Computers almost always contain one or more central processing units (CPU), each of which processes information sequentially. While having multiple CPUs allow a computer to run several tasks in parallel, many computers also have a graphics processing unit (GPU) which contains hundreds to thousands of cores that allow it to execute many computations in parallel. In order to complete a larger task, GPUs run many subtasks concurrently. Each core performs the same instruction on different sets of data, making it useful for performing tasks such as calculating what each individual pixel displays on a screen. The purpose of this research was to learn how GPUs work, how to write CUDA programs to utilize GPUs, and to determine if GPUs could be used to increase the speed of algorithms used to determine the pebbling properties of graphs. In addition, we developed a class module on GPU computing with CUDA for the Advanced Algorithms class in Hope College’s Computer Science department.
Repository citation: Brett, Josiah and Brouwer, Josiah, "Graphics Processing Units (GPUs) and CUDA" (2019). 18th Annual Celebration of Undergraduate Research and Creative Activity (2019). Paper 29.
April 12, 2019. Copyright © 2019 Hope College, Holland, Michigan.