I can read around a lot about OpenCL, and it seems to be the most promising (the only one?) multi-architecture library. OpenCL should be the first parallel architecture programming standard, and it’ll be eventually adopted by the most part of programmers. That is good, ok, but is there a loss of performance by migrating from a native programming library to OpenCL? In the case of nVidia GeForces, I’ve already found an article were two realizations of the same program – CUDA vs OpenCL code – were compared and the first one seemed to be more performant. In the case of Pthread or Windows threads, I really have no idea, but I think that “generality” and multi-architecture approach will always have something to “pay”.
Just to stop speculating about this or that, I’d like to check everything by myself, but I need you to help me! Is there an OpenCL benchmark set, universally accepted, I can use to compare with native code? Is there an analogous of CUDA SDK written in OpenCL code?
Thanks to everybody.
I can read around a lot about OpenCL, and it seems to be the
Share
Currently there is no set performance benchmarks to test speeds of different frameworks. Several benchmarks have been created. Notable examples include the SHOC benchmark suite and Rodinia. On the horizon, OpenCL and the 13 Dwarves will likely be released soon, which could be useful for benchmarking purposes.
In order to do testing between frameworks, there has been work done testing the differences between OpenCL and CUDA in terms of performance. Some of this work involves understanding that for OpenCL, while there is correctness portability, there is no guarantee for performance portability. Daga stresses the importance of architecture-aware optimizations in his thesis.