AMD Talks Steamroller: 15% Improvement Over Piledriver

Page 5 - 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.

analytic1

Honorable
Apr 12, 2012
38
0
10,530
yes i read about matrix's , but i believe its how you code .. i was going to write this before but needed some additional information , as i have thought about this process before , when a code is written , and i was explaining this to my friend , and he agrees but had to go off and do some research of his own , each line of code is numbered first line is 1 but also another one after which represents cpu core line two would also have a 2 and so on , line 5 would go back to 1 , now this is where algorithms comes in to play . a compiler is then able to put this code into lower level code ,

This is why approximation algorithms are important as each line of code also has to by measured by time before the above can be taken into account .. maybe better to explain , i have been over this before once some years ago , plus my cpu is over heating lol ... anyway here's something to read ..

http://en.wikipedia.org/wiki/Parallel_computing
 

army_ant7

Distinguished
May 31, 2009
629
0
18,980

I think it's safe to say that it's surely how you code. I'm not sure what you meant with what you said about numberedlines of code and CPU core. I'm thinking you may have meant how compilers (which are programs themselves I believe) can be parallelized by having one thread assigned to one line of code to be compiled. I wouldn't argue with you there if that's the case. :)



The one I mentioned was just the one I knew/thought of. I'll read that article on Algorithmic Skeletons and maybe reply soon after if needed. Thanks for that. :)
 

army_ant7

Distinguished
May 31, 2009
629
0
18,980
From what little I read, it seems like algorithmic skeletons are just an abstraction of parallelized operations used in instances that allow their usage.

The thing I was getting at a while ago is that there just doesn't seem to be a way to parallelize certain programs that much because they really can't because of the way they work. Just like the Fibonacci sequence example I gave (unless there's another method generating it). Now I really am not sure if some high-level language operations, like those ones involved in that method of generating the Fibonacci sequence, get broken down to multiple lower-level operations which happen to be parallelizeable.

But anyway, I really think that certain applications like games are limited in that sense. I'm wondering if RTS games like StarCraft II have threads generated for each unit in the game, for their AI's in particular. Since these units "work" concurrently for each frame, I'm thinking that their AI's/instructions must be parallelizeable. Though, I'm wondering if that's the case, would assigning a unit a thread each, result in great overhead or imbalanced processing compared to just running their AI's on one thread/core in series (one after another).

If they were parallelized like that then if you hundreds of units on the playing field, then 8 cores might be very beneficial. But this is just me babbling on about theories about things I'm not even sure of. :lol:
 

analytic1

Honorable
Apr 12, 2012
38
0
10,530
I was trying to explain this before , and i guess without a diagram it is a bit hard for me to explain in writing .
When a person plays any game , there needs to be input from the user , which is a instruction , if it is multi player you have many instructions from many user , well a second thread/core can also give the first thread core instructions and even a 3rd thread /core if it is look at as input from a user , just that the second thread has its own program in the form of AI which is the user , you can have many cores/threads as AI or many AI grouped to one thread and again many AI grouped to another thread , remembering AI is a algorithm in its own sense , lets say 60 people playing on a server , all those people have to give input , wow things really happen quickly in a cpu lol .

I also understand that textures are pulled from the hard drive and feed the graphics card , that process can be handle by another core , taking the work load of the first core /thread handling the mechanics ...

I play a game where there are 100s of AI , i think the biggest gaming map on any game with more objects on any game , these objects i would 50% or more are destructible as well as that there are normally 50 players , this game can run on a dual core CPU but a low FPS , the higher the resolution the more stain on the CPU , which tells me the CPU is sending bigger files to the graphics card , i am thinking another core to handle the process of dealing with texture files in the way of a instruction from the main core , as a core is able to do many operations a second .

I can only look at this as better management of resources , like the first thread is only organizing operations the other threads have to carry out , because the first thread will have less work load , in the form of AI or getting textures from the hard drive , the first thread is able to send and receive instructions more often , telling other threads what to do as the other thread are operating on their own cores .

We can look at it like a matrix where the first thread/core is the program sending and receiving instructions from three other cores/threads who then carry out the work it is assigned , so core 1 tells core two AI what is your state and where are you , it reply , core one then tells core 2 grab these textures from the hard drive and send them to the graphics card , in fact you could have two cores/thread sending textures each doing half the work , but again it all depends on how the program is designed to work .......
 

analytic1

Honorable
Apr 12, 2012
38
0
10,530
when i post from now on i will write in word pad before i post , i see some mistakes but think you get the concept of my post , if you don't i will make a diagram .....
 

army_ant7

Distinguished
May 31, 2009
629
0
18,980
I see where you're getting at and I wasn't really disagreeing with that. :) There is a lot of room for multi-threading a game, like I believe you're saying. And I think that, like some said, (older) game engines that are used for games could use some optimization. But sometimes, there really is just some trouble with multi-threading, sometimes there are just some things that can't be multi-threaded, and there are some that would incur overhead and/or waiting on other cores. The latter one is something I'm really not sure of, but it makes sense to me, especially since you won't be only have one program running at a time (your OS for instance and everything running "in" it) and they could keep one or more cores occupied for a while I think.

Tell me if you think I got what you were saying already. :)

Thanks for those two articles. The one on PS3 development has gotten me intrigued (I have yet to read it). I remember reading that it's hard programming on the PS3's Cell Processor due to it having so many cores I think.
 

analytic1

Honorable
Apr 12, 2012
38
0
10,530
I was wondering , as i was reading somebody saying about turning of some core in the bulldozer to get better results , isn't that the same as setting the affinity in task manger for each task running ? because i see you can set each tasks or process to its own cpu .....
 

luciferano

Honorable
Sep 24, 2012
1,513
0
11,810
[citation][nom]analytic1[/nom]I was wondering , as i was reading somebody saying about turning of some core in the bulldozer to get better results , isn't that the same as setting the affinity in task manger for each task running ? because i see you can set each tasks or process to its own cpu .....[/citation]

It's not quite the same, but the results are similar. Disabling cores or messing with P state settings is a little more effective than thread affinity.
 

analytic1

Honorable
Apr 12, 2012
38
0
10,530
Doing all of the above give better performance , Disabling cores or messing with P state settings and setting the affinity on each process .....
 

army_ant7

Distinguished
May 31, 2009
629
0
18,980
When you said, "Doing all of the above..." unless you meant just one of those solutions, I'd think just doing one not in conjunction with the others is all you need, preferably the P-state solution. Disabling cores may yield better lightly-threaded application performanc compared to the process affinity mod, maybe even slightly better than the P-state mod (just my thoughts which may be wrong).

Setting the affinity of the processes may provide better flexibility to allow better highly-threaded (enough to take advantage of most, if not all, cores), and it may provide better lightly threaded performance than default but possibly worse than the other two mods (because the other two mods prevent the other cores from still being tied by other processes and stuff).

With the P-state mod, I'm not really sure how highly-threaded performance may come out since you'd be downclocking 4 of the cores as I've heard, but I'm thinking it would negatively affect it unless maybe you overclock the rest of the cores by how much you downclocked the other 4, though I'm not sure if performance works that way necessarily.
 

analytic1

Honorable
Apr 12, 2012
38
0
10,530
I should of said disabling one core on each module and setting the affinity for all windows processes to use only one core , which gives three cores to be set for use within gaming , and because of lowering the power by disabling , i have more overclocking headroom , as i think most people have issues with the FX brand within gaming , as a said processor is said to be better for gaming ......

Btw because of all this knowledge , it has given me a better view point on making the correct choice of my next processor , and it will be AMD only because of the flexibility ......

Could you tell me , how much power at full load the CPU uses when disabling four cores ?
i have asked this question a few time but have never been given an answer ...
 

luciferano

Honorable
Sep 24, 2012
1,513
0
11,810
[citation][nom]analytic1[/nom]I should of said disabling one core on each module and setting the affinity for all windows processes to use only one core , which gives three cores to be set for use within gaming , and because of lowering the power by disabling , i have more overclocking headroom , as i think most people have issues with the FX brand within gaming , as a said processor is said to be better for gaming ......Btw because of all this knowledge , it has given me a better view point on making the correct choice of my next processor , and it will be AMD only because of the flexibility ......Could you tell me , how much power at full load the CPU uses when disabling four cores ? i have asked this question a few time but have never been given an answer ...[/citation]

Disabling the second core of each module on an FX-81xx CPU should decrease full load power by about 30-40%, give or take a few percent, depending on the model.
 

analytic1

Honorable
Apr 12, 2012
38
0
10,530
So power draw should be between 75 and under 90 watts under full load with four cores disabled , very interesting and thats on a bulldozer , i wonder what it will be like on piledriver ? ....
 

luciferano

Honorable
Sep 24, 2012
1,513
0
11,810
[citation][nom]analytic1[/nom]So power draw should be between 75 and under 90 watts under full load with four cores disabled , very interesting and thats on a bulldozer , i wonder what it will be like on piledriver ? ....[/citation]

It'd probably be around there, maybe slightly higher for some workloads that really stress it. I can't make a guarantee because it would depend on the model and even the individual unit. For example, an FX-8120 will probably use a little less power than an FX-8150, probably mostly because of it having a lower clock frequency.
 

squareenixx

Distinguished
Feb 6, 2011
137
0
18,690
Ah this is sad since I am an AMD user. 15% over Piledriver. And Steamroller has been delayed till 2014.

I mean Intel's high end is already about 30% faster than Piledriver and by 2014 Intel would at least be 50% faster than Pildriver.

That means when Steamroller finally comes Intel will already be 35% faster which is just a joke for AMD to promise a speed increase and tell us 2014. 15% by 2014 is total rubbish.

I can't wait that long for just a 15% percent increase and it probably wont even be a genuine 15% increase. I would buy AMD if they were always just 20% under Intel but it's starting to look bad and seems the new norm might be 35%+ under Intel.
 

army_ant7

Distinguished
May 31, 2009
629
0
18,980
Steamroller's really been delayed? You have a source to share? And I mean one that says that AMD officially announced that, or else, you're just spreading possibly false rumors.

I can't confirm those percentages you presented, but if ever Steamroller's performance is 115% of Piledriver's, and based on what I assume to be your speculation of Intel's 2014 CPU to have a performance of 150% of Pildriver's, then ((150% - 115%) / 115% ~= 30.4%) your speculation of Intel's 2014 CPU's performance is only 130.4% (not 135% like you said) of Steamroller's. But again, I'm not back those figures you presented. It's more of a math lesson and clearing up a misconception... :)

 
G

Guest

Guest
rorory read is leading amd in the wrong direction he is a failure of a ceo and th wrst AMD has ever had, amd needs t brin in some of th best and brihtest engineers soon or ty wl have rory wil hav put th final nail in amd's coffin. AMD's entre mangement staff should be fired off or IBM buy out MAd( wat a powerful company that would be)
 

megadjc

Honorable
Apr 9, 2013
1
0
10,510
I think AMD realized that long term performance improvement following Moore's Law is unsustainable. Right now things are only getting more expensive as they get better. Some might say that it's due to lack of competition, however the finances needed to maintain said competition is the true factor. AMD instead is focusing performance per watt and gradual improvement.
 

silicondoc_85

Honorable
Mar 10, 2012
39
0
10,530


AMD will likely forget the message that has been smashed into their face now for years on end.
SINGLE CORE PERFORMANCE.

I expect them to utterly epically fail completely.
I'm convinced the deranged, swollen and retarded heads under the amd roof cannot change.

See, the idiot fanboy wants his ee-pinprick core count brag, no matter the reality of windows users and gaming, the tarded blabbermouth pop culted sheeplized loudmouth cannot resist core count... and that is not only the entire amd fanbase, but their execs and engineers and PR and server sales dept., so there is NO HOPE.

In light of the actual no hope scenario we will get again, the entire fanboy base will shriek and scream that "future optimizations!!!!" will make the amd turd they excrete out next, really shine... that shiny bright future when all the programmers, coders, os makers, and the entire game devs of the world finally do AMD's WILL, so amd won't suck as badly as it does...
"Ain't gonna happen !!!!"
So amd can'tcode it's own drivers properly, but they want the entire rest of the software developing world to do ULTRA COMPLEX multi core threading so their CRAP CPU's can provide a smooth surface for the core ofthe flies to land upon...

" AIN'T GOING TO HAPPEN EVER !!!! "

AMD and it's wishful thinking the future is bright until it actually gets here fanboy base is primed and pumped for another gigantic facepalm.
 

silicondoc_85

Honorable
Mar 10, 2012
39
0
10,530


Really ? This is the joke the amd fanboy has become... after wailing and screeding and bellowing, the amd hardware has to be half disabled... to shine up the turd...theoretically of course....

In the mean time their worshipful master aka dear leader of the computing world has coughed out a 220 watt "super optimized prime bin pick select grade A - HOUSEFIRE of a cpu.... blowing out motherboards all over the world...

So uh... disable cores... LOLOLOLOLOLOL

AMD IS A FREAKING JOKE !
 
Status
Not open for further replies.