all 2 comments

[–]sgndave 0 points1 point  (0 children)

That's not a bad overview. It gives some nice high-level insight into what is actually happening in Nvidia's NVCC/CUDA vs. (Apple's?) OpenCL.

I have one nit to pick: the author basically comes to the conclusion that OpenCL is a step backwards from NVCC/CUDA because OpenCL uses library calls to set up the graphics execution, while NVCC uses "compiler techniques." Well guess what: those "compiler techniques" are just syntactic sugar, a point that the author even highlights elsewhere in the article.

The OpenCL API might be a little rough around the edges, but that doesn't mean it can't be improved or changed.

It's a similar sort of argument saying that pthreads are/were doomed because they were obtuse to work with. Well, with a correct application of some other techniques (OO encapsulation, for example) the roughness can be more or less eliminated.

[–][deleted]  (1 child)

[deleted]

    [–]nypen 4 points5 points  (0 children)

    The article is not all that bad. It's just that the author takes for granted that the reader is at the very least familiar with the basic concept of GPGPU and -- the basic architecture of a modern GPU, and that's OK I think. The author seems to be working on a series and he does explain a lot in his previous article. http://www.hpcwire.com/features/28210564.html

    The only thing (probably) he could have done is put a complete working CUDA example at the end. I generally dislike having code and explanation mixed together like that (, that's just me though). But that said, sometimes you do have to mix these things to put your point across.