• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

CUDA programming, which hardware specs are important?

GWestphal

Golden Member
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.
 
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.
 
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:
Back
Top