# Bulldozer 8150 (8-core), kernel, CFLAG recommendations

## Tatsh

So is it normal that the CPU only show 4 cores? Is 8-core just because of some BS version of HT?

Are there any kernel options I should definitely enable in version 3.1.x?

Are these CFLAGS the best possible?

```

CFLAGS="-O2 -pipe -march=amdfam10 -mtune=amdfam10 -mcx16 -msahf -maes -mpclmul -mpopcnt -mabm -mlwp -mavx"
```

Is it reasonable to assume that make -j5 is still the best option?

----------

## depontius

It's a weird definition, though I wouldn't call it completely BS.  Here's a pictorial of the Bulldozer core:

http://arstechnica.com/business/news/2011/02/amd-to-break-new-ground-with-32nm-bulldozer-design.ars

When they define 4 or 8 cores, what they're really defining are 4 "modules."  Each module has 1 multithreaded fetch/decode unit, 1 floating point unit, and 2 integer units.  The integer units are "stronger than hyperthreading, weaker than a full core." to attempt a little perspective.

So far reviews have been disappointing, but I have a strong suspicion that it's largely because compiler writers don't yet know how to generate good code for this unusual partitioning.  There is also a general industry bias against AMD here, and I'm not saying that as a fanbois.  Intel has been designing and executing well for some time now, but prior to that they brought us NetBurst and IA64.  Both were pigs upon delivery, but the industry gave them slack, mostly on the former, and the compiler writers sharpened their knives and got to work.  In the end, both have done well.  AMD never could have survived simultaneously introducing those two chips.  Even with the obvious win that the K8 was back at that time, AMD barely grabbed a foothold in the server space.

If compiler development happens, Bulldozer's best days are yet to come.  It's not clear that that's going to happen - perhaps in the long run we'll all eat only Intel, whatever they choose to give us, and it will be up to ARM to keep them honest.

----------

