How many 'CUDA cores' does each multiprocessor of a GPU have?
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:
- Compute Capability <= 1.3 --> 8 CUDA Cores / SM
- CC == 2.0 --> 32 CUDA cores / SM
- 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
.
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, 2022Comments
-
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?