

Introduction to OpenCL - ssp
http://realworldtech.com/page.cfm?ArticleID=RWT120710035639

======
frisco
OpenCL is the most verbose, awkward monster _I have ever seen_. No
exaggeration. The "Hello World" of GPGPU in OpenCL is over 100 lines long.

Use CUDA directly. Get access to new features as the chips ship and a much
nicer interface. NVIDIA is so far ahead in terms of GPGPU it's worth the
vendor lock-in.

~~~
tylerritchie
>NVIDIA is so far ahead in terms of GPGPU it's worth the vendor lock-in.

I am dubious. But I'll admit that this isn't a field I'm experienced with.

It looks like AMD GPUs are in one of the top500 clusters, compared to 7 with
nvidia GPUs, so that lends some strength to your statement. But I'd rather
write for an open architecture and move my code to whatever happens to be the
fastest running it then write for a particular vendor and hope they keep up.

Betamax was (slightly) superior to VHS, and it didn't work out so well.

I guess I don't really understand how vendor lock-in would ever be acceptable
in a market that exploded due entirely to the commoditization of the personal
computer. Okay, CUDA is more pleasant to code in now now, but what happens if
AMD's GPUs start trouncing nvidia's? Or what if Intel figures out how to make
Larrabee competitive? What if Oracle buys nvidia and starts charging extra for
drivers that support CUDA?

~~~
frisco
This is much more clear than that. The entire community is rallying around
CUDA & NVIDIA. Never once have I been talking to someone about GPU computing
(and I work with it) and has someone mentioned AMD chips. NVIDIA holds the GPU
Technology Conference each year that everyone goes to, and all the GPU books
are being written about CUDA. Every Mac has a CUDA-capable GPU inside. NVIDIA
has been collaborating with universities to get them devices so students can
use them. AWS offers Fermi (NVIDIA's next-gen architecture) GPUs are a
service. Autodesk and mental images have teamed up with NVIDIA to do CUDA-
specific acceleration of their products. In the past 2 years of working on
GPGPU, I've heard ATI mentioned four or five times, and then only by lay
press.

~~~
tylerritchie
That's definitely interesting, I'm certainly curious to see how that plays out
down the line.

------
stygianguest
Why base it on C? Programming parallel systems is a new paradigm, one that is
distinctly different from the imperative world of C. Just compare the example
FFT on wikipedia (<https://secure.wikimedia.org/wikipedia/en/wiki/Opencl>)
with for example the StreamIt implementation
([http://groups.csail.mit.edu/cag/streamit/apps/benchmarks/fft...](http://groups.csail.mit.edu/cag/streamit/apps/benchmarks/fft/streamit/FFT5.str)).

Alright. Damn. That isn't actually that much better. Does anyone know a
language that has an elegant yet efficient parallel implementation of the FFT?

------
cabalamat
Maybe they should get a different name for this; I thought it was an open
source implementation of Common Lisp.

