Date of Award

Winter 2010

Project Type


Program or Major

Computer Science

Degree Name

Master of Science

First Advisor

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.