Previous | Next --- Slide 37 of 66
Back to Lecture Thumbnails
VP7

15 is a weird number in computer science. Why did NVIDIA design a GPU with 15 cores instead of 16?

TA-lixf

@VP7, I don't know the design reasons behind the GTX 480, but if I have to guess, I'd say it has something to do with the scheduling policies on the chip. I agree that 16 is more sane number if you are doing static scheduling, meaning that 16 threads created at the beginning of the execution and 16 of them finish at the same time. (We'll talk about GPU scheduling later and note that it's not exactly the same as this..) However, I would guess that this chip is dynamically scheduled and that's why it has 15 rather than 16 because the specific number here does not matter.

caryy

I remember when Kayvon discussed this topic last year, he mentioned that the 480s had 15 cores because the manufacturing process for these chips was not very stable, and for every 16 processing units that were fabricated for the card, only 15 would be functional. My memory is a bit fuzzy, so this may not be completely accurate.

A related topic is the concept of product binning.

VP7

@TA-lixf: Thank you. But I have a gut feeling that it has more to do with the manufacturing process as Carry mentioned, than the thread/warp scheduling policies. (I may be wrong)

kayvonf

Yes, this a process called binning (or I think, "floor sweeping"). A chip will come off the line, and during test, it's determined that some components are not functional. In the old days, those chips were thrown out. These days since multi-core chips are very modular, chips that are mostly working get sold has high-end parts (high numbers of working cores), chips with fewer working components get sold as mid-range parts, etc (lower-core count).

This is not just true of core count, it's true of max frequency. Some chips core off the line being able to be reliably clocked higher than others.

lament

Wait, does that mean that, despite the fact that they were created in cold, heartless factories, computers chips are really like special snowflakes, unique and noticeablly different from each other?

kayvonf
rokislt10

That's a really interesting process that I have never heard of. I have another somewhat related question, though. There are unlocked boxed chips and locked boxed chips, where unlocked means that you can overclock the processor. Is there some difference in the hardware, similar to "binning" that causes some processors to be "locked"?

Zarathustra

@rokisit10 Short answer, not really. Intel realized that PC enthusiasts would want to overclock to get whatever (usually very modest today) performance increases they could. Thus, Intel created the "base" and "K" lines of processors, which do technically have a hardware difference that prevents or enables their overclocking, but this is generally not due to the "K" series being higher binned. Some percentage of the processors Intel manufactures are selected to be "locked" and some are selected to be "unlocked" based on how best to efficiently saturate both the enthusiast and corporate / consumer markets. You can't spell "price discrimination" without "K". If you're bad at spelling.