High-powered graphics cards are a common component on many desktop computers. They are no longer just for game enthusiasts and high-end graphical application users. Today's graphics cards can be used for more than generating fancy graphics for display on a terminal. The highly parallel nature of the graphics processing unit (GPU) makes it ideal for uses other than basic graphics processing and the production of fancy images for display on a terminal. NVIDIATM has created a line of graphics cards with a Compute Unified Device Architecture (CUDA) which provides a simplified platform for creating general purpose programs which harness the power of the GPU. The goal of this project was to become proficient with programming in a CUDA environment and to evaluate the powerful nature of the GPU by comparing the performance of a number of algorithms implemented on both the CPU and the GPU.