How many 'CUDA cores' does each multiprocessor of a GPU have?

10,207

Solution 1

The number of Multiprocessors (MP) and the number of cores per MP can be found by executing DeviceQuery.exe. It is found in the %NVSDKCOMPUTE_ROOT%/C/bin directory of the GPU Computing SDK installation.

A look at the code of DeviceQuery (found in %NVSDKCOMPUTE_ROOT%/C/src/DeviceQuery) reveals that it the number of cores is calculated by passing the x.y CUDA Capability numbers to the ConvertSMVer2Cores utility function.

From the code of ConvertSMVer2Cores this relationship between the capability and core count can be seen:

Capability Cores
10 8
11 8
12 8
13 8
20 32
21 48

Solution 2

The answer depends on the Compute Capability property of the CUDA device. The numbers are:

  1. Compute Capability <= 1.3 --> 8 CUDA Cores / SM
  2. CC == 2.0 --> 32 CUDA cores / SM
  3. CC == 2.1 --> 48 CUDA cores / SM

See appendix G of the CUDA C Programming Guide.

Solution 3

Update of @AshwinNanjappa's answer for CUDA 7.5:

Compute Capability # Cores
1.x: 8
2.0: 32
2.1: 48
3.x: 192
5.x: 128

Notes:

  • CUDA 7.5 no longer supports device with compute capability 1.x.
  • These aren't really 'cores' in the sense of CPU cores. See this question here on Stack Overflow.
  • In Maxwell GPUs (5.x), the number of 'cores' per multiprocessor has decreased.
  • I got the additional information from $CUDA_SAMPLES_DIR/common/inc/helper_cuda.h.
Share:
10,207
jwdmsd
Author by

jwdmsd

Founder at TunaCode, a startup focused on accelerating compute intensive problems using GPUs. I'm a CS graduate and NVIDIA Certified CUDA Programmer. Facebook | LinkedIn

Updated on June 05, 2022

Comments

  • jwdmsd
    jwdmsd almost 2 years

    I know that devices before the Fermi architecture had 8 SPs in a single multiprocessor. Is the count same in Fermi architecture?