Thread scheduling is done in hardware, so they have the same performance there. Maybe you should approach this problem from another angle: what can you do with one of the frameworks that you can't do with the other? They both use the same drivers, so both will support fancy technologies that come out with new hardware. I dont think that that would be time well spent, though. You could choose a few and compare your results. There are the NVIDIA Code Examples, done in both CUDA and OpenCL. This is what you ask for, but I don't know anything like that in existence - people will choose either technology for their bigger projects and won't write everything twice. Results will differ, so you would have to have a big test suite. But you won't be able to deduce from that experiment that you'll get similar results on another program, or with different hardware. The problem with benchmarks is obviously that you only can objectively evaluate very specific things - say, the same program done in CUDA and OpenCL, on the same hardware (as you named a source). Fair warning though, I might get some stuff wrong. Not being a performance/benchmarking expert I can only try to give you a few general thoughts on OpenCL vs. 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? 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". 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. OpenCL should be the first parallel architecture programming standard, and it'll be eventually adopted by the most part of programmers. I can read around a lot about OpenCL, and it seems to be the most promising (the only one?) multi-architecture library.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |