OpenCL "Hello World"(developer.apple.com)
developer.apple.com
OpenCL "Hello World"
http://developer.apple.com/mac/library/documentation/Performance/Conceptual/OpenCL_MacProgGuide/Example:Hello,World/Example:Hello,World.html
5 comments
[deleted](3)
I can't wait to see some useful applications of this.
So am I.
But my second thought was "Oh my GOD, how many pages of text for a single loop to run?". I'm sure they'll improve the api (with a wrapper layer), but right now OpenCL will only be used by the more demanding of applications.
EDIT: Maybe that sounded wrong. For huge classes of problems this isn't an issue, but to really pull that power down to the everyday developer, an easier wrapper api will be needed.
I can see spreadsheets using this stuff, but not as it stands now. On the other hand a gpgpu raytracer could use opencl as it stands now.
But my second thought was "Oh my GOD, how many pages of text for a single loop to run?". I'm sure they'll improve the api (with a wrapper layer), but right now OpenCL will only be used by the more demanding of applications.
EDIT: Maybe that sounded wrong. For huge classes of problems this isn't an issue, but to really pull that power down to the everyday developer, an easier wrapper api will be needed.
I can see spreadsheets using this stuff, but not as it stands now. On the other hand a gpgpu raytracer could use opencl as it stands now.
Why not spreadsheets? The end-user would not be bothered with this stuff.
New drugs have been designed for a few years now using GPU computing.
New drugs may be required so programmers won't notice the monstrosities going on.
What's the deal with const char *KernelSource = HUGE_MULTILINE_STRING_WITH_EXPLICIT_\n ???
Its worse than SQL statements embedded inside GUI event handlers.
What's the deal with const char *KernelSource = HUGE_MULTILINE_STRING_WITH_EXPLICIT_\n ???
Its worse than SQL statements embedded inside GUI event handlers.
I can't wait for support in other languages.
Khronos is working on C++ bindings. But having the core API in pure C should make adding bindings to other languages a (relatively) easy thing to do.
I can't wait for a nice DSL that will generate this boilerplate code for you...
No no! Wrong approach. You want the DSL to run your code, not to generate code you can't hope to understand.
Nobody can beat this masterpiece of classics:
int main(void) { printf("Hello, world!\n"); return 0; }
int main(void) { printf("Hello, world!\n"); return 0; }
Maybe not in terms of execution time, but in maintainability and set-up time, nothing beats:
echo Hello, world!So how does Ruby's performance on vector code compare with OpenCL?
Yes, but what about: void main(void) { printf("Hello, world!\n"); }
;-)
;-)
Hello boilerplate.