Date of Award
Program or Major
Master of Science
Philip J Hatcher
Graphics processors are significantly faster than traditional processors, particularly for numerical code, and in recent years have become flexible enough to permit general-purpose use, rather than just graphics use. NVIDIA's CUDA makes general-purpose graphics processor computing feasible, but it still requires significant programmer effort.
My thesis is that array programming can be an effective way to program graphics processors, and that a restricted, functionally pure array language coupled with simple optimizations can have performance competitive with handwritten GPU programs. I support this thesis through the research language Barracuda, an array language embedded within Haskell that generates optimized CUDA code.
Larsen, Bradford, "Compiling an Array Language to a Graphics Processor" (2010). Master's Theses and Capstones. 597.