Does Quadro fx 560 support cuda?

I have this old gpu (quadro fx 560).
I didn’t see it on the list of the supported card, but I did see a driver for it that seems to enable cuda (and open cl) according to its spec.
So what’s the answer?

It does not support CUDA. That specific GPU predates CUDA support. You’ll need something newer.

What about OpenCL?

Same answer applies. OpenCL relies on NVIDIA provided libraries in the CUDA toolkit. Again, you need a newer GPU for either CUDA or OpenCL support.

There are some OEM Nvidia GT 635 1GB (Kepler GK208) cards on eBay going for as little as $33 USD. This is a Compute Capability 3.5 card, so you could play around with Dynamic Parallelism features, and it also provides OpenCL 1.0 support with 384 CUDA cores… definitely the best value you’re going to get.

See below:

You could even get a low profile bracket for the card above if you wanted:

If you want more video memory (2GB), with similar specs (GK208), here are alternate choices:

Lastly, if you want a Compute Capability 5.0 card (Maxwell), you’d want a GTX 750 or GTX 750 Ti. Any of these:

Thanks again.
Its not about the money… I have this card in a computer at work and I can’t replace it soon…

I don’t understand how this driver:

Says that it added support on CUDA 3.0 and OpenCL 1.0 to this gpu…
Can you explain please?

The explanation is in front of you, on the page you linked. It’s an unified driver, it’s not for the Quadro FX 560 only.

* Adds support for the Open Computing Language (OpenCL) 1.0 in Quadro FX Series x700 and newer as well as the FX4600 and FX5600.

However, your GPU isn’t in NVIDIA’s list of CUDA-enabled Quadro products anyway:

I want to understand the limmitation.
Can I (theoraticly) write a driver that will support it?
Or is there anything in the hardware itself that is not supported?

It’s a hardware/architecture limitation basically. CUDA was designed to work with G80 series or above GPUs. This article from 2006 explains some of it:

Quoting from it:
“NVIDIA has finally decoupled the texture units from their shader hardware, enabling math and texturing to happen at the same time with no scheduling issues. They have also decided to implement their math hardware as a collection of scalar processors that can be used together to perform vector operations. NVIDIA calls the scalar processors Stream Processors (SPs), and they handle all the math performed in the shader core of G80.”

So in short, no, you cannot write a driver to support CUDA on that ancient GPU.

If you want to play with OpenCL, just use it. You don’t need a GPU for it. Pretty much any device runs it, most probably your CPU too. E.g. you could use Intel’s SDK for OpenCL Applications 2013 or XE 2013 or AMD’s APP SDK v2.9. For CUDA on your x86 CPU you could look into The Portland Group’s CUDA C/C++ compiler for x86 platforms: Best of luck!