AMD CPU speculation... and expert conjecture

Page 718 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.


How is it poor coding if two cores is enough to run the program at max speed? Would you rather they have a program that requires 8 cores to run well because it's coded so badly?

If all the work is getting done by x number of cores, adding additional cores adds NOTHING to performance. At that point, you only gain performance by increasing clock/IPC. Now, I'm sorry that most programs don't scale beyond more then 2 cores, but that's simply the way things are. Most programs don't need that much processing power; it's really that simple.
 

con635

Honorable
Oct 3, 2013
644
0
11,010
Older games do not run at full speed on 2 cores, they run as fast as the core let them, peoples gripe is the 'cpu bound' game on a quad core does not use the total power of the cpu.
eg Playing Dayz mod on an athlon and it struggling while only using half if not less than the total cpu power available, core 1 pinned at 90%+ core 2 40-50% other 2 twiddle thumbs. Same h/w only bf4 mp, all 4 athlon cores pinned above 70-80% usage, much higher fps, no giant fps drops or stutters all the time, you feel like your getting your moneys worth from your cpu and program. Thats what people mean by poorly coded.

 

juanrga

Distinguished
BANNED
Mar 19, 2013
5,278
0
17,790


Two baskets: K12 and Zen.
 

juanrga

Distinguished
BANNED
Mar 19, 2013
5,278
0
17,790


And discrete card market continues in free fall:

Total discrete GPU (desktop and notebook) shipments from the last quarter decreased -3.38% and decreased -12.06% from last year. Sales of discrete GPUs fluctuate due to a variety of factors (timing, memory pricing, etc.), new product introductions, and the influence of integrated graphics.
 

logainofhades

Titan
Moderator


I refuse to give AMD any excuses, on Skyrim. When a 4.0ghz E8400 can hold its own, pretty well, against FX 4300 and FX 6350, there is a problem.

Skyrim-Ultra-FPS.png


TESV-Skyrim-Ultra-Frame-Rate.png


 

truegenius

Distinguished
BANNED
while in the area which matters
The Gaming PC segment, where higher-end GPUs are used, was a bright spot in the market in the quarter. Nvidia’s Maxwell GPUs continued to show strong sales, lifting the ASPs for the discrete GPU market.

Q4 2014 saw a jump in tablets from the first slowdown in tablet sales last quarter. The CAGR for total PC graphics from 2014 to 2017 is 1.5%. We expect the total shipments of graphics chips in 2017 to be 483 million units. In 2013, 454 million GPUs were shipped and the forecast for 2015 is 470 million.

now we see only top card as new and rest as rebrand (hd7000>rx200, gtx600>gtx700) so we can expect fall as a consequence of this practice and shouldn't be confused with the impact of exa scale apu



i usually use "^" to quote post just above me, and "^^" for the post 2 above me and so on ( generally when i want to post small text and/or using mobile which does not show quote button)
so what does you multiple "^" are used for ?
 

blackkstar

Honorable
Sep 30, 2012
468
0
10,780


Skyrim is poorly programmed and game developers should be held accountable for creating products that do not account for all of their customer's needs. A game coming out in the 2010s should not be using technology that came out in 1980, specially if it has the effects of harming performance on some customer's hardware.

I'd ask you why you think AMD is obliged to support such archaic parts of an ISA so well when the only notable piece of software to come out in recent memory that uses them is Skyrim itself.

I could ask you why you always attribute software problems to AMD hardware.

Also, consider a different scenario. A game comes out that's only Direct3D 4. It runs poorly on Nvidia hardware but not on AMD. Do you blame Nvidia for not supporting D3D4 still or do you blame the game company for releasing a game that uses vastly outdated technology? You appear to be going "AMD sucks for not properly supporting this 35 year old technology, shame on them!"

If Skyrim were using AVX or something remotely modern and AMD were having troubles I'd fess up to it being an AMD problem. But it's not, it's ancient technology that AMD doesn't need to be supporting. Intel and AMD have both been actively discouraging the use of x87 for a long time. x87 is older than windows. Every single version greater than 1.0. Maybe you should be giving Microsoft a hard time for not having Windows 1.0 programs work in Windows 8.1 natively? Surely they can do that, Windows 1.0 is newer than x87 afterall!
 

Reepca

Honorable
Dec 5, 2012
156
0
10,680


Tell me, in a game with unlocked framerate, how much work is "all the work"? What speed is "max speed"? It isn't a finite amount (unless you're considering the amount of work that has to be done in order for it to be GPU-bottlenecked, which is another variable entirely and not completely relevant).

Suppose an intel core makes 10 sandwiches/sec where an amd core makes 6. So using 2 intel cores gets you 20 sandwiches/sec, and using 2 amd cores gets you 12 sandwiches/sec. But you want a maximum of sandwiches/sec; your target is infinite. So why wouldn't you use all the sandwich-makers possible?

I'd rather that they have a program that is able to run 8 cores to get things done faster than with 2 cores. It's pointless if for whatever reason you want to limit how fast it can run (give it a finite load/target), but why would you want to do that? Even if you do that, if 2 cores isn't enough to get that finite amount of work done, there's still a benefit to running on moar cores.

EDIT: I should specify, I mean *if it can be done in parallel*. Obviously parts of the program that must be done in serial... must be done in serial. I had written that in an earlier draft of my post and forgot I deleted it when I started over.
 

cemerian

Honorable
Jul 29, 2013
1,011
0
11,660


then you should be giving amd a very hard time for using cmt, something that was created in the 90's and never caught on, why would they use something so terrible, it clearly is their fault for using something that simply does not work properly/efficiently with software we have now, and certainly did not work out in the 90's
 


You can't make serial processing parallel. And your maximum performance improvement gained by adding more cores is limited by the serial portions of code:

http://en.wikipedia.org/wiki/Amdahl%27s_law

And when two or three threads is doing ~80% of the total workload, you aren't going to see significant gains adding more cores, regardless how many threads are doing the remainder of the work.

eg Playing Dayz mod on an athlon and it struggling while only using half if not less than the total cpu power available, core 1 pinned at 90%+ core 2 40-50% other 2 twiddle thumbs. Same h/w only bf4 mp, all 4 athlon cores pinned above 70-80% usage, much higher fps, no giant fps drops or stutters all the time, you feel like your getting your moneys worth from your cpu and program. Thats what people mean by poorly coded.

DayZ is doing a LOT more then BF4. You have a lot more AI to handle for one, and you have a lot more memory dedicated to keep track of all those items, which will affect performance due to swapping memory a lot more. Sure, BF4 is a lot more graphically intense, but the actual work the CPU is doing is lower. In short, games like DayZ tend to be more sensitive to CPU performance.
 


I'm confused, this is supposed to be a 'bad' game for AMD? Looking at those charts, it tells me that an ancient Ahtlon II x4 640 is ample to play Skyrim at 1080p full settings, with above 30fps minimums....?!

Why are we complaining again?
 
suppose an intel core makes 10 sandwiches/sec where an amd core makes 6. So using 2 intel cores gets you 20 sandwiches/sec, and using 2 amd cores gets you 12 sandwiches/sec. But you want a maximum of sandwiches/sec; your target is infinite. So why wouldn't you use all the sandwich-makers possible?

You're viewing this the wrong way. In this case, your Sandwich is the main program executive. You can't run multiple instances of the same program in the same context (eg: if you run two iterations of a game, they run separately). What happens is certain parts of that program loop are run in separate threads, and how quickly those threads complete determines how long it takes to complete one iteration of your program.

Taking your example, one thread might involve putting the components for the sandwich on a conveyor belt, another responsible for putting the various pieces together, one more to package it, and one to send it out the factory. So you have four threads doing totally independent tasks. But in this case, each task follows the one that came before, so even though you are running four threads, you gain no advantage adding more cores, as each thread must wait for the prior one to complete. In this example, adding more cores does nothing to improve overall productivity, as there is a clear succession of steps that needs to be undertaken.

Now, if you suddenly doubled the rate each step of the process completes, that would effectively double the number of sandwiches that are produced over the same timespan. That's your Clock/IPC.

I'm going to continue saying the same thing I've been saying since before BD launched, and will continue to do so until everyone finally gets it: You can't make serial processing parallel. Software has to follow certain steps in certain orders to get the results you want. Some steps of the process you can do in parallel, and some steps of the processing can be made parallel to almost infinite proportions. But the overall work flow is serial, and will remain so, and it's that processing that limits your ability to utilize additional cores. And nothing is going to change that fundamental limitation. Get over it.
 
I'm confused, this is supposed to be a 'bad' game for AMD? Looking at those charts, it tells me that an ancient Ahtlon II x4 640 is ample to play Skyrim at 1080p full settings, with above 30fps minimums....?!

Why are we complaining again?

Not as good as Intel. But yes, I am finding it ironic people are complaining about a game that a Athlon X4 and C2D can comfortably play.
 

juanrga

Distinguished
BANNED
Mar 19, 2013
5,278
0
17,790


Some people still buys high-end cards because current APUs (year 2014) are limited by slow DDR3 memory and by current process nodes. However, rest of cards are in free fall. That is the reason why most 300 series will be relabeled 200 series and only the top models 380, 390, 395 will be new. No company will spend resources when there is no market. The high-end dGPU market still is big enough to companies releasing new models. But at some point in the future even the top cards will be not viable economically. No company will design and release a future high-end dGPU on 7nm was only 5% faster than a future iGPU on same 7nm.



AMD engineers had the crazy idea of designing AMD64 ISA like an extension to x86-32. All the legacy stuff was embedded in the new 64bit ISA thanks to them. Any AMD64 chip has to satisfy the entire ISA as defined by AMD. It would be a nightmare if different companies start to support only part of the ISAs because have problem with it.

Imagine if AMD did claim that want to support only instructions from 1 to 90, whereas Intel want to support from 60 to 200, and VIA want to support only the 20 last instructions. It would be funny if customers had to ask to the chipmakers: "hey! Do you support the instructions used in my software?" Before considering a purchase.

If your chip is advertised as supporting a given ISA then has to support the ISA as it is. So simple like that.

If AMD cannot design chips for its own ISA then would stop making chips or at least would stop advertising them as AMD64 compatible. On the other hand, customers have all the right to chose Intel chips if software they are interested run better.
 

con635

Honorable
Oct 3, 2013
644
0
11,010

Bf4 mp, for doing less on the cpu, uses more of the cpu, its definitely hotter and reports higher usage, the makers of dayz have also promised the game will be moved to dx11 to sort out the fps/cpu usage around or before the time it comes to ps4. We might see, if they do as promised, can a game really be made parallel? I'm confused now, does dx12 split the work of the heavy thread up between the cores making it parallel or simply remove the amount of work it needs to do?

 

Reepca

Honorable
Dec 5, 2012
156
0
10,680


Your earlier comment made it sound like you were referring to parallel operations - something along the lines of "if two cores do all the work needed, using more cores won't change anything". I take it what you meant was something along the lines of "if there are only two tasks that can be done separately, more cores (than 2) won't change anything". Which is completely right, but I am fairly confident that there are more than 2 tasks that can be done separately in a game like Skyrim.

I suppose part of this issue is from the ambiguity of the statement "Skyrim only uses 2 cores". Does this mean only 2 cores are heavily loaded? Does it mean only two threads are ever used in the program? Does it mean only two threads are ever usually being run at the same time? If anything in Skyrim is data-parallel, I would think that means that <# of cores> threads can be run at the same time simply because anything data-parallel usually scales linearly with more cores.

I'm probably just confused about the way you phrased it.
 
Your earlier comment made it sound like you were referring to parallel operations - something along the lines of "if two cores do all the work needed, using more cores won't change anything". I take it what you meant was something along the lines of "if there are only two tasks that can be done separately, more cores (than 2) won't change anything". Which is completely right, but I am fairly confident that there are more than 2 tasks that can be done separately in a game like Skyrim.

I suppose part of this issue is from the ambiguity of the statement "Skyrim only uses 2 cores". Does this mean only 2 cores are heavily loaded? Does it mean only two threads are ever used in the program? Does it mean only two threads are ever usually being run at the same time? If anything in Skyrim is data-parallel, I would think that means that <# of cores> threads can be run at the same time simply because anything data-parallel usually scales linearly with more cores.

I'm probably just confused about the way you phrased it.

At a really high level, threads are the execution unit that get loaded to cores. Typically, games are using dozens (I've seen games using 80+) of threads, but only a handful of them do any real work. Classically, you have two heavy threads: The main program executable, and the Main Render Thread. Those other threads, while doing work, amount to an almost inconsequential amount of processing compared to these two threads; we're talking 5% total processing time here, if that. Sure, 80+ threads are being run, but since 2 of them account for 95% of the total processing, what are you going to gain by improving that 5%?

That's where DX12/Mantle come in. By allowing lower level access to the GPU, you can make parallel what used to be serial, and gain performance. You also lower the overhead of the GPU driver, which also improves performance.

Also remember the final point: If no CPU core is doing more work then it is capable of doing, adding the ability to perform more work gains nothing.

 

logainofhades

Titan
Moderator


But when AMD's latest hardware isn't really any better than Intel's hardware from 6+ years ago, there is a problem. Hell, they aren't even all that competitive with their own previous generation hardware. A 3.4ghz C2Q is within 2-3fps of a 4.2ghz FX 4300 and 3.9ghz FX 6350. AMD isn't making better products, they are making worse to similar performance, to what they were 6yrs ago. Phenom II X4 @ 4.0ghz beating FX 4350 @ 4.2. Even overclocked to 4.7, it isn't significantly faster. The 6350 @ 4.5ghz isn't much better either. This is why AMD has been losing market share, on CPU side of things. They are not advancing, they are running in place. Throwing more cores at it, does little, when most software doesn't use the extra cores. They need a boost in per core performance, and badly so. I miss the old AMD that was competitive, and kept Intel on their toes. The K7 and early K8 days vs PIII/P4 was an awesome time to be a PC enthusiast. Instead, they got cocky, with K8 X2. Intel released Core 2, caught AMD with their pants down, and they have yet to recover. Constantly playing catch up. Intel's business practices probably didn't help, but AMD didn't exactly do itself any favors either.
 
i wonder how arguments like this will look like when directx 12 and compliant gpus and games come out. :whistle:
 
Status
Not open for further replies.