Before revision:  We separate the influence of algorithmic optimizations, parallelization, SIMD vectorization, and microarchitectural issues on performance and pinpoint problems with current  instruction set extensions on standard CPUs (SSE, AVX)  . Finally we compare our results to the best GPGPU implementations available for this open competition benchmark.
After revision:  We separate the influence of algorithmic optimizations, parallelization, SIMD vectorization, and microarchitectural issues on performance and pinpoint problems with current instruction set extensions on standard CPUs (SSE, AVX) . The use of assembly language is mandatory for best performance . Finally we compare our results to the best GPGPU implementations available for this open competition benchmark.