For using nVidia CUDA, is memory important? What other key factors play a role in GPGPU CUDA performance?
In order to take advantage of CUDA, you need a GeForce 8 series GPU, and even the most affordable GeForce 8 cards have a minimum of 320MB memory (with future entry-level cards still supporting at least 128MB). In terms of performance, GPGPU is based on the notion of stream processing, where a single complex function is applied to a large data set, so ideal applications are problems that require arithmetically intense operations applied to large data sets (without requiring interdependence of elements in the set to perform the operation). If the function being performed on each element is not sufficiently complex, memory latency will hinder performance – similarly, you will get lower performance if you need to request n>1 words of data per thread from the same bank (shared memory broken down into equal-sized groups), causing an n-way bank conflict. The CUDA programming guide PDF on NVIDIA’s site give a great overview of the whole system, with dozens more examples of the various factors
Related Questions
- The team performance statistics obviously play a key role in the determination of a teams chance of winning a game. Can you tell me a little about the approach used?
- What have been some of the key factors influencing the success of performance measurement systems?
- What key factors affect scintillation cocktail performance?