CUDA programming, which hardware specs are important?

GWestphal

Golden Member
Jul 22, 2009
1,120
0
76
I do some simulations in CUDA and compared to using a CPU, it is much faster. However, I don't know which specifications are the most important.

Could anyone describe where core speed, memory bandwidth etc are useful for which types of applications?

My initial thoughts are that number of cores and core speed are broadly applicable for pretty much every type of simulation, but not sure how memory bandwidth plays into it.
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Honestly, the only spec that REALLY matters (in general) is the generation of the video card.

Newer cards will be faster than older ones 9 times out of 10. Everything else just isn't going to matter all that much.

Beyond that, you'll have to get into the nitty gritty of what your application is doing. Is it transferring a lot of data to and from the CPU? Then memory bandwidth might be important. Is it doing a stupidly parallel operation? Then number of cores might be important.
 

Net

Golden Member
Aug 30, 2003
1,592
3
81
also another fun tidbit, at least it was true with openCL last time i worked with it, there is no dynamic memory allocation.

a few things to ask yourself as mentioned above.

Are you going to transfer to and from the graphics card a lot. Is it a lot of data to transfer to and from? If so you might want to replan.
Is the type of work mostly floating point or integer arthemitic? Floating point is a plus for graphics cards.
Do you know how much space to allocate before your run your program? point above about dynamic memory allocation (if it changed then you don't have to worry)
Is the problem or program parallizable? If not then replan.

If your problem or program is a good fit then the benefits will come from how good you are at programming it to make use of the cuda architecture (parallel programming)

To touch on your mention of memory, there are different teirs of memory that you can use read p. 32-35: http://developer.download.nvidia.co.../html/OpenCL/doc/OpenCL_Programming_Guide.pdf
 
Last edited: