3 ms·
Confused about “From here we tried increasing the running time of the benchmark, removing I/O and system calls, checking for hyperthreading (ARM cores don’t sup
by sgerenser 3y ago
Confused about “From here we tried increasing the running time of the benchmark, removing I/O and system calls, checking for hyperthreading (ARM cores don’t support it), and even changing the cores’ CPU governor”. Where do ARM cores come in here? Is it a typo for AMD? But those cores (Bulldozer era) did have shared resources between threads even though they didn’t call it Hyperthreading.
- zelon88 3y agoThe "shared" components being the integer units, which are typically assembled with cores in a 1:1 ratio. So by having two cores with one integer unit you technically still don't have a hyper-threaded CPU. AMD argued in court at the time that this counted as 2 separate cores, while some lawsuits claimed that statement was false advertising. I opted out of that lawsuit in writing stating my opinion that a judgement against AMD in this case would have a chilling consequence on future architectural developments. AMD eventually settled for $12.1m. https://www.anandtech.com/show/14804/amd-settlement https://www.anandtech.com/show/14804/amd-settlement
- gus_massa 3y ago> So by having two cores with one integer unit IIRC they shared the floating point unit, not the integer unit. (A long time ago I had one with 8 "cores" but only 4 FPU.)
- rjsw 3y agoI was using a 6 core one until earlier this year, it worked well for compiling software, didn't care about floating point.
- AtlasBarfed 3y agoSo they argued basically the FPU was a coprocessor? Ahhh 80386SX and 80387SX live again in spirit ...
- sgerenser 3y agoYeah, sharing FPU makes a lot more sense than sharing integer unit. FPU, particularly on home user applications, is not used nearly as heavily as integer. But AFAICT the CPU used in the article was one of these Bulldozer-based designs with shared FPUs. And it didn't sound like they did anything with trying to pin processes to specific cores to avoid 2 threads sharing the same FPU. The description of their code doesn't sound like it would be floating-point heavy but its hard to say for sure.