Nowadays CPUs have a high processing capability, and you can benefit from its multiple cores by using parallelism to your applications. There are several frameworks that allow you to do this, like for example the Task Parallel Library (TPL)
But you can go further by using the GPU. General-purpose computing on graphics processing units (GPGPU) might be the solution if you need to perform very heavy processing. Just like your CPU might be a dual- or quad-core device, GPUs can host several hundred or thousand cores. You can use all this power to not only calculate graphics but also arithmetic operations.
To unleash all this power there are several frameworks:
- CUDA (NVIDIA proprietary)
- Alea GPU (.Net wrapping CUDA)(examples)
- OpenCL (open standard and C like language)
- Metal 2 (Apple's)
- CUDAfy.NET (article with great explanation)
However, if your working experience is mainly with high level programming languages, and you don't have much Algebra knowledge, you might find it quite complex to start on this world, and to identify how you can benefit from all this processing power.
There are several applications of this technology. It works the best performing simple operations, in big amounts of data, were all threads are performing the same operation.
There are several applications of this technology. It works the best performing simple operations, in big amounts of data, were all threads are performing the same operation.