If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Comment

Would it automaticaly use opencl where best suited or would you still have to program for opencl?

From what I understand reading their website, you write multiple versions of your code. For example, you provide three implementations of your foo() function: foo_cpu(), foo_cuda() and foo_ocl(). The runtime decides automatically which one to use when you call foo().

I might be wrong though, since I didn't bother to download anything or look at examples.

Comment

From what I understand reading their website, you write multiple versions of your code. For example, you provide three implementations of your foo() function: foo_cpu(), foo_cuda() and foo_ocl(). The runtime decides automatically which one to use when you call foo().

I might be wrong though, since I didn't bother to download anything or look at examples.

Why would you even bother writing for CUDA then? Nvidia GPUs support OpenCL just as well as AMD and Intel GPUs do.

Comment

And last time I checked only worked on Nvidia GPUs. So why write for less then one 3rd of the market? Most people are going to be using Intel followed by AMD GPUs. Pretty much only Intel gamers that don't use Gallium3D drivers are going to even consider Nvidia, thus I don't see how it justifies the extra effort to write specifically for CUDA unless it's for a very specific task where you're using a bunch of Tesla nodes.

Comment

And last time I checked only worked on Nvidia GPUs. So why write for less then one 3rd of the market? Most people are going to be using Intel followed by AMD GPUs. Pretty much only Intel gamers that don't use Gallium3D drivers are going to even consider Nvidia, thus I don't see how it justifies the extra effort to write specifically for CUDA unless it's for a very specific task where you're using a bunch of Tesla nodes.

Usually you don't write CUDA programs for desktop systems. You write them for yourself, your organization, or for entities that want to get the job done.

If you want to target the consumer market, using OpenCL sounds better. Though I think it might lose to Microsoft's DirectCompute part of DirectX; on developer's forums, you usually see CUDA developers going to DX much more often than they go to OpenCL. (This smells like the OpenGL vs D3D thing all over again...)