The ability to rapidly manipulate high amounts of memory locations and execute several elementary tasks in parallel at high speeds makes GPUs more effective than CPUs for algorithms in which large blocks of data can be processed in parallel. Examples of algorithms where GPUs excel are oil exploration, analysis of air traffic flow, medical image processing, linear algebra, statistics, 3D reconstruction, and stock options pricing determination [3