ENABLING NEW USES FOR GPUS
MetadataShow full item record
As graphics processing unit (GPU) architects have made their pipelines more programmable in recent years, GPUs have become increasingly general-purpose. As a result, more and more general-purpose, non-graphics applications are being ported to GPUs. Past work has focused on applications that map well to the data parallel GPU programming model. These applications are usually embarrassingly parallel and/or heavily utilize GPU architectural features such as shared memory and transcendental hardware units. However other GPU architecture components such as texture memory and its internal interpolation feature have been underutilized. Additionally, past work has not explored porting CMP benchmarks to GPUs; if GPUs are truly becoming a general-purpose architecture, they need to be able to execute general-purpose programs like CMP benchmarks, especially programs that do not map well to the data parallel paradigm, with high performance. This thesis focuses on enabling these new uses for GPUs by implementing new use applications on GPUs and then examining their performance. For those benchmarks that do not perform well, we explore what bottlenecks still remain that prevent them from obtaining high performance.