Porting of CUDA code from older graphic card to newer

Hello Everyone,

I have a video processing algorithm ported and optimized on GeForce GTX 8800 graphic card. Now I am planning to move on to the latest graphic cards. So I want to port the same code on to Geforce GTX 295 or EVGA GeForce GTX 285 SSC.

What sort of change will be required during this porting process? What kind of performance improvement should I anticipate.

Thanks for reading this post. I would really appreciate if you can guide me on this.

Regards!!!

Nothing whatsoever. You don’t even need to recompile your binaries. Just make sure you have installed drivers that support your new card.

Assuming you are memory bandwidth bound, the GTX 285 is 16 GiB/s vs the 8800 GTX’s 86 GiB/s => you should run about twice as fast under ideal circumstances.

Also, I would recommend against factory overlocked boards. My experiences are that CUDA apps crash rather quickly on even mildly overclocked boards. Your milage may vary.

Thanks a lot for a very quick response. This is very good news for me. :D

Also thanks for a word of caution for the kind of boards to be used. But here I have a question. What is the difference between factory overclocked boards and any other boards? What different kind of boards are available?

EVGA (for instance) offers lots of different versions of the same board. You listed that you were looking at a “EVGA GeForce GTX 285 SSC”: the SSC stands for “super super clocked” I think. They also sell “superclocked” and “FTW” editions with different levels of overclocking. This is called factory overclocking because the manufacturer ships the board with the default clocks set above the standard.

When shopping on newegg, the cards are listed with the clock rates and a notation if they are different than standard

i.e.

I am unhappy with the idea of “factory overclocked” since it is deliberately kept vague whether there’s any extra testing or cherry-picking going on.

For example, if EVGA SuperSuperDuperClocked cards exist, does this mean they ran SuperSuper-Duper stress tests on the cards, and only the ones that passed the harshest test get the SSClocked label? OK, that’s a legitimate, and even useful, service they provide to someone who wants extra insurance that they can stabily get an extra 10% clock or whatever.
But now what happens to the boards that fail the test? If they pass a less-stringent test, they get sold as mere “Superclocked” cards. And those that fail the second test get sold as regular cards.

Now, do you want to buy a “regular” card from EVGA now that you know it failed testing at two higher quality brackets? Hm. Maybe not.