GTX 1080 reporting 20 compute units

Why does GTX 1080 reports 20 SM’s for deviceProp.multiProcessorCount and it shows 2560 CUDA cores in GPUZ.
I was expecting 40 SM’s each with 64 CUDA cores giving 2560 CUDA cores.

Because a sm_61 SM is defined to have 128 cores, not 64.

http://international.download.nvidia.com/geforce-com/international/pdfs/GeForce_GTX_1080_Whitepaper_FINAL.pdf

page 18: “Each SM contains 128 CUDA cores”

The sm_60 SM, OTOH, is defined to have 64 cores.

https://images.nvidia.com/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper.pdf

page 10: “Each SM has 64 CUDA Cores”

It’s not historically unprecedented for different sm_xx variants of the same GPU family to have a differing number of cores.

Fermi sm_20 has 32 cores, whereas Fermi sm_21 has 48 cores.

And for that reason I think it was a bad choice to call them all “Pascal”. I would propose Paswell for GP102/104 and if one would want to be very forward-looking, GP100 could be called Pasta :D

In any case, while I understand that for obvious reasons the consumer chips were tweaked and modified until (much?) later than the P100, it’s quite confusing the split between P100 and the rest of Pascal – it would helped making this more clear (perhaps even in the naming) and documenting the differences better.