My thoughts on the FX Line

So i had a conversation with a few programmers a few days back that have worked at Microsoft and Apple.  I kind of heard about the same thought and concern across the board.  They explain that the AMD FX chip is theory is a superior design over the i5/i7 current line, but yet as well see in real world test doesn't perform the way it is suppose to.

Main reason is because there is a limit in the speed of how caching/fetching/getter and setter functions the CPU works best and when you pass it.  The 8 core CPU was primarily designed to work best and most efficiently @ the 8320 chip so the 8350 is in theory factory overclocked to a safe spec.  When you compare the 8320 to the 8350, the improvement are about 5%, but in certain situation, mostly synthetic it does work because it was hard calculations.  Now when you compare the 8350 to 9370/9590, the improvements follow the same suit, factory overclocked to a safe spec but more vigorously.  Now there are tons of reviews that say the 6-core counterpart works better for its core clock and core count.

In many reviews, the 6-core FX processor, usually is said to be the best buy because of diminishing returns..  on the 8 cores, the 1 extra module kinda sits there in between the other 3 modules when they do their functions on the getter and setter functions because of the limits of caching and fetching.  So whenever there is an opening after an update function or a fixed update function, the 4th module jump in.  So it's only working when it can or when allowed to.  So long story short, that 4th module has to wait.  Now better programming for multi threading changes that, but most multi core processor have a sequencing and outsourcing the load from Core 0, to Core 1-7 on the FX chip, but it has to sit back until the main core speaks to the other cores and delegates the workload, which means a slow down.  There is also another issue with the FX chip and that is the module idea.  Because of a module both cores will act as 1 core until told so.  So on single threaded applications, the cpu is only seen as a quad core, while multi-threaded applications see the 2 cores inside each module.  When you see multi-threaded applications work, they are generally only working with 2 cores and then delegated to extra cores so less workload per main cores.  Now since programming has come a long way, more modern multi-threading we see 4 cores atm being fully utilized from the start.  We're going to a point now that multi-threading is about to be dictated by bridging fetching to delegate which cpu's do their work.  

The Kaveri chip for example improved it by doing what they call super fetch which is where the information is set first now instead of directly to the core which means it works with any amount of core.  So Kaveri if it had 4 cores or 8 core or even 16 cores in theory should improve performance proportionately.  BUT, In the fashion of AMD, they never get it right the first time and always have set backs.  This set back is that fetching has latency issues because it deals with L1 and L2 caching and L3 caching is not delegate in super fetch, only in the CPU itself controls L3 because it is subjective to the module itself.  L3 is not directly connected to the chip but more so bridge by the module.  So this latency issue is causing the performance degradation IMO.

I do think that AMD FX line atm is a superior design to Intel's Haswell but it doesn't yield the raw performance that everyone expected because AMD i think hurried it up.  That's why Thubian X6 did so well, mainly because the fetch was direct to cpu, no module and caching wasn't split but more unified, IPC i still think Thubian is best AMD has come up to yet because of their direct connection to CPU.  They're trying to design the chip now more like a power grid where the main grid send information to posts which then the posts send the energy where its needed.

I think the major issue is that these chips are coming out WAY too fast and the programmers can't keep up with the acceleration of evolution in the manufacturing market.  I noticed from all the programming i'm currently doing that every time i change CPU's i notice weird changes that affects certain scripts in different ways.  Maybe delayed loads, certain things may need to be called earlier because of how the architectures sequences, and things of that sort.  I wish Chip designers would work more with programmers to offer the best performance out of a chip.

What's crazy is that AMD was willing to try something new and jumped it full on, i gotta commend them for their bravery.  Intel is hardly willing to take leaps now a days, especially with ivy bridge and on.  AMD is known to innovate a lot more frequently than Intel instead of worrying about efficiency so god damn much.  I just wish AMD was more competitive, like they're on the GPU market. In general both Nvidia and AMD trade off blows in almost every scenario which is really good to see, especially with the current line ups.

Now you guys may disagree with my thoughts on it, but what do you guys think?  Should AMD come up with a new architecture or improve their current one?  Do you think that AMD is screwed in the performance market?

I feel like AMD thinks they're screwed because they really seem to be backing out. I think they could improve the architecture a bit, perhaps try and get more software optimized for their CPU design, and then I think they could really come back in terms of performance.

I think I made a good buy getting an FX6350 for $135 and then OC'ing it to 4.7

I'm all for multicore and I'm along wide with you saying that these new lines of cpu every year or sooner are ridiculous. The last 2 and even 3rd generation of intels i-series hasn't been much of an improvement in the real world. I know plently of people still gaming on a 2500k. The advantage it seems right now is power consumption and extra instructions that 'could' be used in the future.

As much as I hate to say I'm with balmer in saying we need more devs and programers to work with the cpu makers like amd and intel.

 

I'm waiting like a patient puppy for the next line of FX chips, because if AMD makes the design work as desired. It will completely counter the route that Intel is taking the mainstream line into. I regret not going 8350 with my current rig quite often, not because I'm not impressed by the i5 3570k, but because of how the 8350 would have been perfect for my current and future use-case. I'm moving to a Haswell Xeon soon because I trust it more for very CPU demanding areas than my current, and I want a size decrease, for ease.

I'm very optimistic for AMD though, they're differentiating their products from Intel's a lot more time and time again, which makes the options more use-case rather than "Well I like this one because I do". Much like the GPU line has somewhat been before Crypto currency's dominance and frame rating becoming more of a concern.

It's funny some of the guys you were talking with worked at Microsoft, because I think part of the performance issues relative to Intel come from Windows. Phoronix did some linux benchmarks when the 8350 first came out and found it to perform very well compared to intel:

http://www.phoronix.com/scan.php?page=article&item=amd_fx8350_visherabdver2&num=1

that is the big problem, software just does not take advantage of the hardware. 

AMD made improvements in the Opteron line using piledriver cores. It's obvious they aren't gonna refresh the FX line with those same types of performance improvements. I think they are gonna wait until they get there next chip ready before we see anything drastic out of them. As is though the FX line holds up well in the marketplace.

AMD has something that Intel doesn't have: HSA. While yes, HSA is in its infancy, it has already been known to show some fairly large improvements. Intel is putting an iGPU onto their enthusiast chips. That is a waste of silicon and money. Last I checked, the only communication that Intel's iGPU with a dGPU is to determine whether or not a dGPU is installed. I think AMD really understands what consummers want and don't want so they're trying to add those things into their chips. They know that many people don't want an iGPU, they don't like the idea of spending money on something they'll never use. AMD seems to know this and made HSA. They put the iGPU to work. They are giving people the performance they paid for. If it seems like I'm a fanboy right now, I assure you I'm not. I'm just really glad that AMD seems to be doing something right. 

Especially since they at least got their foot in the door with Vishera, and through YouTube and social media the idea spread that the FX chips offered ridiculously good price:performance ratio. Then it was a bit of a smack in the face to see them jump ship entirely over to FM2+ and APUs which is such a small market... it will take too long for HSA to be taken advantage of for it to be a good move. If they aren't planning to improve the FX lineup or come up with something even better, I can't see them lasting long as the CPU market is starting to stagnate since nothing new has come out from AMD in a few years now except for Kaveri and the Vishera refreshes (and I think most people agree that Kaveri was overpriced... $200 for a 7850K < $170 for an Athlon 750K and HD 7770).

I know it's much easier said than done, but the biggest thing holding back the FX chips was cache latencies... and if I'm not mistaken the cache latency got even worse with Steamroller (I recall the reviews I read showing the 6800K outperforming the 7850K in cache benches). Some lower cache latencies and the ongoing better optimisation of software to work across more cores and they'd be pretty competitive now.. overall just kind of dropping the FX line out of nowhere was pretty dumb IMO (I know it's not officially dropped, but there hasn't even been any word of a successor to Vishera).

AMD also seems to be much more willing to listen to any and all real criticism while Intel seems to just do what they want no matter what others say.

I think they are just pushed for resources, having to release a greater range of products (given emergence of mobile and low-powered server computing), now they are trying to push out low cost chip-sets. Problem is in my opinion they keep getting late to the mark, many of their products which are very competitive are taking too long to get out, and kaveri was is a complete flop with the pricing and lack of laptop units....

There are alot of point with piledriver I agree with. The entire cluster-core(module) concept is a strong concept, but AMD screwed up with alot of things.

I wont say it is better than haswell, far from.

I'm pretty sure intel quick sync is running on the IGP.

AMD introduced HSA, because it was the only way to match intels SIMD.

To be clear, AMD didn't make HSA, it is an open foundation, which Intel also could buy itself into.

No, if they did they would have dropped the entire cluster-core concept at bulldozer.


 

APU is far from a small market.

AMD is aiming for lower-end systems, laptops and much more.

Desktops is a dying race.

The software is not the main problem.

Well i run my FX8350 over a year now and im very pleased with it. However i do agree about the instruction delay issue, core for core, module for module, because of the fetch, but is this realy an archticture issue? or is it more like an software related issue..? i know that windows made some patches, to get the Fetch right. but still, i think that AMD can do some improvements on that, with a new FX line of cpu´s. But i basicly totaly see no reason for amd to drop the AM3+ socket concept, i see alot of people complaining that the AM3+ socket is getting old, and the 990FX chipsets is getting old, but i totaly disagree with that. because if you look at the feutures that a AM3+ with 990FX chipset has to offer? you do find the same feutures on todays Z77 and Z87 boards.. so why is the Am3+ getting old then?  i think that AMD should continu using AM3+ i still hope that AMD will come with the Excavater FX line cpu´s. on AM3+. in my opinnion the FX line is far from dead.

But the software/ operating systems, and other applications, realy need an kick in the bum as well, because in my opinnion, windows is still the biggest bottleneck for multicore archticture

Grtz Angel ☺

The fetch isn't the big problem.

The branch predictor would need a major update, same with their cache and general scheduling system.

AMD is using a scheduler for each ALU cluster and FP cluster, whereof Intel is using a unified scheduler for the entire core, which in my opinion, is a far better option.

You most likely wont see an extension to the FX-line, unless they start a new line.
The 9xxx series destroyed it. Steamroller was supposed to be the 8520 / 8550, but there is already a piledriver on 9590! Bulldozer x1xx, piledriver x3xx, what could have been steamroller x5xx and what could have been excavator x7xx.

You cannot blame the developers and software engineers.
Windows will most likely continue the way it schedules it process to the CPU.
Windows battery life is terrible enough, if you couldn't get cores into sleep states it would be even worse.
There are more pros than cons with windows scheduling system, and I understand why the choose it.

i personaly still not understand why amd came with the FX9xxx in the first place.. i still don´t see the point of thease cpu´s, because there is nothing improved about the architecture at all. About scheduling you have a point, an unified scheduler for an entire core, could be more efficient in some ways.

IMO i believe that AMD should really look back on their architecture and shrink it down to 22 or even (god should i even mention) 14nm tech (skipping 22nm) just to get caught up with intel and do SERIOUS testing and work with software devs so that when they release their new line of FX xxxx chips on the AMx or FMx socket then the upper end AMD will be ABLe to compete with the upper end intel chips. Hell, even throwing a 12 core or 16 core as a top of the line model similar to the 4960x or something similar.