I’m here to ask some questions and share my point of view.
At the moment I’m implementing exotic multi-assets options pricing on GPU.
Everything is working fine, the speed is sometime 10x faster than CPU (Athlon X2 4600+ vs GeForce 7600GS) and the results are always inside 1 sigma (numerically speaking good results).
I’m thinking if a switch to CUDA (from plain OpenGL+GLSLang) would be better or worse.
I mean, with old-school GPGPU approach it’s more easy for me to think how to solve problems. Yes, it can be harder to think and develope good shaders considering that I don’t have any threadId for example, but once complex shaders are developed, I can rely on the goodness of the drivers (and nVidia rocks as usual :-) ) and I know that the drivers will optimize not only the code, but even the resource handling.
Why should I switch to CUDA? Even in the case of a gather-scatter computation (and is not my case) it’s easier for me to think to the lattice as a texture being drawn on a flat quad…
Or even with multipass software architectures is even easier to split up computation in most easier passes…
BTW, I need to use big and bigger textures to fit my calculus: now I’m stuck to 2048x1024xRGBAx32Float. This is fine, but I’m asking myself if with Tesla (and supposely its multi-SLI) I will be able to use 8192x8192xRGBAx32Float.
Thanks in advance,
Ps. I’m on Ubuntu 7.04