I'm doing some research on GPGPU and currently struggle with the question what Tesla and CUDA really are. In the paper "NVIDIA Tesla: A unified Graphics and Computing Architecture" it says that the Tesla architecture was introduced with the GeForce 8800. With further reading I was convinced that it is an overall architecture for graphic cards of NVIDIA. Unfortunately this is not really the case. On http://www.nvidia.com/object/why-choose-tesla.html they explicitly seperate GeForce, Quadro and Tesla. And how is all that related to CUDA? Is it just the extension for general computations on GPUs supported by the hardware with Cuda-C? The concept of SM, SIMT, Thread synchronization, Shared Memory, Warp etc. to what is that related? CUDA? Tesla? Furthermore http://nvidia.custhelp.com/app/answers/detail/a_id/2133/~/what-is-the-difference-between-tesla-and-cuda%3F mensions out that Tesla is a family of products designed for high-performance computing and CUDA is only software. Can someone clearify that pls?
Asked
Active
Viewed 1,699 times
3
-
You use CUDA to build software that runs on Tesla hardware. – Burhan Khalid Oct 24 '12 at 13:28
-
2Tesla is the NVIDIA brand for GPUs that are specifically targetted at GPU computing. Frequently these Tesla GPUs have no normal (eg. physical connector) display capability. GeForce is the consumer brand. Quadro is the professional brand. And there are technical differences between these brand families as well. CUDA refers to the general compute architecture that is contained within all NVIDIA GPUs, and is a somewhat overloaded term. Nevertheless CUDA refers to both the hardware and software aspects that allow any NVIDIA GPU (Tesla, Quadro, or GeForce) to perform GPGPU computation. – Robert Crovella Oct 24 '12 at 13:35
1 Answers
7
Nvidia unfortunately uses the "Tesla" name for two different things:
It is the code name for the architecture used by GeForce 200 series GPUs.
Nvidia also subsumes their high performance computing lineup under the marketing name Tesla.
CUDA is the name for the software that allows to do general purpose computations on Nvidia GPUs.
SM, SIMT, Thread synchronization, Shared Memory, Warp etc. really refer to aspects of the hardware architecture used by Nvidia GPUs for the past 10 years or so. However you will come across them a lot when programming with CUDA as the programming model closely reflects these hardware aspects for maximum performance.

tera
- 7,080
- 1
- 21
- 32
-
2Actually Tesla as an architectural code name referred to the GT200 family of GPUs, which was the basis for the [GeForce 200 Series](http://en.wikipedia.org/wiki/GeForce_200_Series), not the GTX 8xxx and 9xxx GPUs. – Robert Crovella Oct 24 '12 at 15:54
-