Implementations of algorithms using CUDA

What is CUDA

It is an API for writing programs that run on NVIDIA's GPUs. It stands for Compute Unified Device Architecture and allows one to write programs that run in parallel on the GPU.

But I've been able to write programs for GPU's using Cg/OpenGL/DirectX ever since the pipelines became programmable. Why would I want to use CUDA?

The previous architectures did not provide any abstractions for general purpose computing. For example one had to coerce data into a set of data suitable for processing by the fragment or pixel shaders and then stream that data over to the GPU using OpenGL. Once the computation was performed getting the result back into DRAM was awkward. CUDA solves these problems.

What is The CUDA Files

An implentation of algorithms using CUDA. The initial set will do some performance measurements with the goal being to ascertain the relative performance of the algorithm running in parallel on the GPU verus it running sequentially on the CPU.

What is the current status

The project is only a few weeks old. Here is an example graph produced by one of the programs showing the performance of GPU versus the CPU when copying an array of data.