cool :) Thanks for doing that - we can merge in at later date and include Java results.
We expose OpenCL in Fabric as an extension, as we wanted to be able to target heterogeneous hardware architectures. We didn't use this for benchmarking as we wanted to show CPU performance first. For clarity - KL does not compile down to OpenCL, you have to write for the GPU explicitly.
macpro:ValueAtRisk sam$ time java -cp . VarMT
VaR = -43.7173372179254300
real 0m36.863s user 4m48.944s sys 0m0.978s
macpro:ValueAtRisk sam$ time ./var-mt
VaR = -43.7173372179254329
real 0m27.048s user 3m33.971s sys 0m0.145s
Pretty good showing for such a low level benchmark.
https://github.com/spullara/Benchmarks/blob/master/Server/Va...
It would be moderately interesting to see how well this benchmark would do in OpenCL or the like.
(Benchmarks ran on a 3.33 GHz, 6-core MacPro, JDK 7 Developer Preview)