开发者

What kind of applications should be rewritten to use OpenCL? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts,开发者_高级运维 references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 10 years ago.

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?


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜