2 ms·
> The term "core" had a concrete meaning before Nvidia defined it to mean number of FMA units It was AMD/ATI who started doing it. Nvidia followed, and they di
by TomVDB 6y ago
> The term "core" had a concrete meaning before Nvidia defined it to mean number of FMA units
It was AMD/ATI who started doing it. Nvidia followed, and they didn't really have a choice if they wanted to avoid an "AMD has 320 shader cores yet Nvidia only has 16" marketing nightmare.
> Now, as I wrote above, they have changed it AGAIN: they are now double-counting each "core" because it has some (limited) superscalar capability.
They did not. In Turing, there's one FP32 and one INT32 pipeline with dual issue, in Ampere, there's one FP32 and one (INT32+FP32) pipeline, allowing dual issue of 2 FP32 and INT32 is not being used.
That can only be done if there are 2 physical FP32 instances. There is no double counting.
If your point is that this second FP32 unit can't always be used at 100%, e.g. because the INT32 is used, then see my initial comment: it's the number of physical instances, nothing more, nothing less. It doesn't say anything about their occupancy. The same was obviously always the case for AMD as well, since they had a VLIW5 ISA when they introduced the term, and I'm pretty sure that those were not always fully occupied either.
- pixelpoet 6y ago> If your point is that this second FP32 unit can't always be used at 100% My point is that the second FP32 unit is not a core, in the sense of https://www.amazon.com/Computer-Architecture-Quantitative-John-Hennessy/dp/012383872X https://www.amazon.com/Computer-Architecture-Quantitative-Jo... which, it is my understanding, was a well-established standard; nothing more, nothing less.
- TomVDB 6y agoIs that it? According to that definition, the first FP32 unit is not a core either... But, again, if you want to blame someone for this terrible, terrible marketing travesty, start with AMD. They started it all... My point was simply been that, contrary to your assertion, Nvidia and AMD have never changed the definition of what they consider to be a core, even if that definition doesn't adhere to computer science dogma.
- ksec 6y agoWell Cloud Vendor also use the term "Core" when they meant a CPU thread. With SMT8 you now get 8 CPU Core. per Actual Core. I would love people to backlash on that too. Unfortunately the ship has sailed.
- wmf 6y agoI think at this point it's just Azure using "vCores" and everybody else has migrated to less dishonest terminology.
- ksec 6y agoYes they used to be vCore ( But you will be surprised how many developers and industry expert didn't know it was a thread ) They then dropped the vCore, so it is now simply Core.
- wmf 6y agoI can't find any cloud providers using the term "core". Azure is using "vCore" and the others are using "vCPU".
- Sulik 6y agoOne "CUDA core" is indeed one GPU thread. The lane of a GPU SIMD is nothing like CPU SIMD, and can independently branch (even if that branching can be much more expensive than on a CPU).
- TomVDB 6y ago> One "CUDA core" is indeed one GPU thread. This is not true, just like a shader core with AMD was not a GPU thread. For example, the 2900 XT had 320 shader cores, but since it used VILW-5 ISA, that corresponds to 64 GPU threads. Similarly, an RTX 3080 has 8704 CUDA cores, but there are 2 FP32 ALUs per thread, resulting in 4252 threads, and 68 SMs since, just like Turing, there are 64 threads per SM.