Question

Mac OS X 10.6 comes with OpenCL, but how many applications could have better performances if they would be rewritten to use OpenCL? What kind of applications should be rewritten to use OpenCL?

Was it helpful?

Solution

My company is using OpenCL for scientific calculations. While I'm not part of the development team which is using it I can tell you a few things they're using it to do: large scale data processing of images, imagine reconstruction, and massively parallelization of previously written scientific code.

Basically, OpenCL is rather cutting edge. Unless you want to/have to deal with it, it's best left for those that need it. I'm not trying to discourage you but it is a niche product designed for a niche market. You'd be better served studying other areas of programming for potential employment purposes.

OTHER TIPS

OpenCL isn't a magical "increase performance" button. There are several prerequisites that need to be satisfied in order to gain a performance boost, the first one is proper hardware (a Tesla GPU helps). As for software that could benefit from it, it's any software that does a lot of parallel computing. This excludes most "daily" software, and leaves graphics processing applications (renderers, image manipulation programs), large data-processing applications where operation may be parallel, and scientific applications.

Usually if you write a application that can benefit from OpenCL you know that you'll benefit from it already ;).

First of all you can't "rewrite" an entire application using OpenCL. You still need a "normal" language for the GUI etc.

With OpenCL you can accelerate very large data parallel problems. Most problems don't fall into this category.

The most promising candidates are graphics/video and sound processing. But every problem that requires the same operation on a very large set of data will be suitable.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top