Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does 'compute capability' mean w.r.t. CUDA?

Tags:

I am new to CUDA programming and don't know much about it. Can you please tell me what does 'CUDA compute capability' mean? When I use the following code on my university server, it showed me the following result.

for (device = 0; device < deviceCount; ++device) 
{ 
    cudaDeviceProp deviceProp; 
    cudaGetDeviceProperties(&deviceProp, device); 
    printf("\nDevice %d has compute capability %d.%d.\n", device, deviceProp.major, deviceProp.minor);      
}

RESULT:

Device 0 has compute capability 4199672.0.
Device 1 has compute capability 4199672.0.
Device 2 has compute capability 4199672.0.
.
.

cudaGetDeviceProperties returns two fields major and minor. Can you please tell me what is this 4199672.0. means?

like image 698
D P. Avatar asked Aug 15 '12 16:08

D P.


People also ask

What are compute capabilities?

The compute capability identifies the features supported by the GPU hardware. It is used by applications at run time to determine which hardware features, instructions are available on the GPU device.

What is compute platform CUDA?

CUDA® is a parallel computing platform and programming model developed by NVIDIA for general computing on graphical processing units (GPUs). With CUDA, developers are able to dramatically speed up computing applications by harnessing the power of GPUs.

Is my computer CUDA capable?

You can verify that you have a CUDA-capable GPU through the Display Adapters section in the Windows Device Manager. Here you will find the vendor name and model of your graphics card(s). If you have an NVIDIA card that is listed in http://developer.nvidia.com/cuda-gpus, that GPU is CUDA-capable.

How do I check my NVIDIA GPU compute capability?

To check if your computer has an NVIDA GPU and if it is CUDA enabled: Right click on the Windows desktop. If you see “NVIDIA Control Panel” or “NVIDIA Display” in the pop up dialogue, the computer has an NVIDIA GPU.


1 Answers

The compute capability is the "feature set" (both hardware and software features) of the device. You may have heard the NVIDIA GPU architecture names "Tesla", "Fermi" or "Kepler". Each of those architectures have features that previous versions might not have.

In your CUDA toolkit installation folder on your hard drive, look for the file CUDA_C_Programming_Guide.pdf (or google it), and find Appendix F.1. It describes the differences in features between the different compute capabilities.

like image 65
dialer Avatar answered Oct 21 '22 06:10

dialer