Quote Originally Posted by TimPrice View Post
Thanks for this _mat_, but, why is this faster on CPU's than SuperPI? It's easy to get below 2s for 1M.
Was the old code obsolete after all?
Is it quicker because of OpenCL and the use of modern CPU instructions?
SuperPi compute all (decimal) digits from start to N. The algorithm used in SuperPi is (for simplicity) not parallelizable. That's why the initial SuperPi on GPU project didn't get anywhere.

As mentioned by __mat__, his program does something completely different. It computes a few (hexadecimal?) digits starting at the N'th place. This task, uses the BBP formula which is very parallelizable.

Unfortunately, all known efficient algorithms to compute all digits from start to N are difficult to parallelize. Not to hijack this thread, but my y-cruncher program attempts to do this. But it doesn't do it well enough for GPU (not to mention memory bottlenecks).


Nice work __mat__! This is the first BBP-based Pi benchmark for GPUs that I've ever seen.