AMD Piledriver rumours ... and expert conjecture

Page 234 - 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.
We have had several requests for a sticky on AMD's yet to be released Piledriver architecture ... so here it is.

I want to make a few things clear though.

Post a question relevant to the topic, or information about the topic, or it will be deleted.

Post any negative personal comments about another user ... and they will be deleted.

Post flame baiting comments about the blue, red and green team and they will be deleted.

Enjoy ...
 
xbox 360 games in the beginning looked only somewhat better than xbox games. As time went on, games like crysis 2 and metro were created and they look way better than cod 4 for example. so if first few games wont look amazing on new consoles, it doesnt mean they won't improve. They will most likely have quad cores, and if all games could use quad cores effectively, I would be thankful already.
 


Sort of what my point is.
Apart from adding moar CPU based, accurate physics in games (that would be better offloaded to GPU in the first place) , what else can the devs make parallely threaded to actually gain performance ? Its not like a video transcoder where you can always productively use more cores.
 


AI for single player games.
Better data compression algorithms to reduce load times. Probably the most annoying thing in games, waiting for loading bars.

Some game play things just can't be accounted for like internet lag.
 

amd launched bulldozer in october last year. they will release pd around the same time this year or may be a bit later. they did launch trinity around the same time they launched llano... at least in mobile platform and in a very limited way in desktops. so far amd has kept up with their 'yearly cadence'.....technically.
if you've heard about amd scrapping pd, could you link the source? that could send certain amd fanboys flying(!) into rage... 😀

pd is launching for both desktops and servers. iirc some amd guy said their 2012 products are well underway to launch. they did keep mum about 2013 cpus (not apus, mind you). piledriver could be 'bd+'. in some very early promo slide or rumor article associated the term 'enhanced bulldozer' with pd.
obr is just like other rumor sites. some are more biased in one way, others are less biased. always take rumors with a grain of salt.
edit: fixed the unfortunate typos!
 


1st link is most likely false its easier for Amd to create Piledriver for desktops and servers since its the same thing. As for performance even if Piledriver was just as fast as Bulldozer Amd would do some crappy marketing trick to sell Piledriver on the desktop so it will come and steamy probably wont make it on the desktop until 2013-2014.

The last link is about steamy and all i know is being a Amd fan i wont recommend anyone in their right mind to think much of it until launch(or at least the APU version) Amd likes to hype things up a bit.
 


Sounds good, in theory.

Its trivial for me to make every AI its own thread, and run each independently. That's about as basic as threading gets. The problem with that approach is one of performance: You'd spend more time communicating between AI objects then you would actually processing the AI's. [This is especially notable in engines which allow multiple AI's to interact with eachother, in which case you can lock up the app if you aren't careful]. So while you'd increase core scaling, you'd actually DECREASE performance in the process.

I did something like the above for my seminar project back in college, with some 30ish AI's or so. [Up to 10 enemies + 3 fireballs per enemy = 30 AI's to process, each its own thread]. Ran like a dog on my QX9650 (3.8 GHz if I recall). Re-wrote the app the handle the AI's as a single thread an loop through each AI via a foreach loop, and performance skyrocketed.

People who actually code software understand that the elegant solution sometimes sucks performance wise.

Better data compression algorithms to reduce load times. Probably the most annoying thing in games, waiting for loading bars.

Thats the HDD. Period. All thats happening during loading screens is data being loaded from the HDD into RAM [and MAYBE some decompression, but thats about it]. Totally I/O bound.
 


:lol: you can say that again. Their marketing team I think hurts them and ruins credibility when they over-hype just about everything they make.
 


Not necessarily. Some games, like Shogun 2 that I mentioned still take ages even with SSD. Yes I tried it with SSD myself, not just read about it. That game apparently needs some optimization every time its launched, and only one CPU core is used. So loading times are outrageous.
 


SSD is still the main bottleneck. Loading is a non-CPU bound operation. And because you are dealing with I/O access to the HDD, its IMPOSSIBLE to do in more then one thread. [OK, you CAN, but performance would decrease exponentially due to all the hardware locking that would go on deep within the storage allocater.]

Unless all the data is in a heavily compressed file format that takes a significant amount of CPU horsepower to uncompress, CPU's aren't going to have any real affect on load times. HDD/RAM access times are the primary bottlenecks.
 
The ps3 uses 6 threads and developers are using them, not easily but they are. They could do the same for PC. That is a case where each thread is extremely weak and yet the parallel threads can be implemented to improve performance. Simply saying it can't be done is just ignorant.

Only reason game developers like blizzard don't make better threaded games is most people have shitty PCs. They want the game to run better on dual core systems from 2006 rather than optimizing the game to run on modern cpus. Console ports are done lazily cause it doesn't matter much. They just want the game available to as many people as they want.

Intel's mobile cpus are almost all dual cores and thus making it hard for developers to really put 4 heavy threads in games. hyperthreading is just not enough to compensate for actual cores when you deal with unpredictable codes in game engines. There just isn't enough push for more cores because intel is pretty much dominating the PC gaming industry because most people who want to run a few games try to do so on intel based laptops. The stagnation is also caused by people believing they have enough on 2 cores to do everything a game would need. Console games can all be crammed into 2 modern cpu cores. There is really not much to push the core usage higher.

It'd be 2 or more years before games starts to use more than 2 threads standard. And the same could be said about GPU compute in games. All of this could be very good stuff but as of right now, there is no money in pushing the highest end hardware.
 



I think me and you agree and disagree on this subject about SSD's. I agree here with you that SSD's are still a bottleneck but i think you said SSD's only matter for load times before gameplay even starts. While i wish this was true i'm sorry to say its just not for all games this is true for games most people here play such as First person Shooters but games i play use a lot of my hard drive when i'm playing such as GTA4 and sims 3 and i monitor my hard drive use while i play these games and every time my game skips my hard drive see's a huge increase in activity and my ram just sets at 3GB or less and i have 8GB on 64bit windows.

 


It may well be bottlenecked by a hard drive in most cases, but storage is far from being the only thing that matters when it comes to loading times. My friend went from 9800gtx to 560ti and loading times in Bad Company 2 were cut in half. I can say the same about going from 4670 to 6870, though change wasn't as great. When it comes to shogun 2, u r confused. The game needs to not only load but optimize itself. It takes 40-50 seconds to load the map with HDD and maybe 35 with SSD.
 


You can NOT compare an embedded system to a high level OS; you design and code significantly differently. Especially in the case of the PS3, as keeping the SPE's fed is very hard to accomplish. Powerful system, but very hard to bring its full potential to bear.

My point being, a LOT of the PS3 code still relies on hardcoded optimizations for performance reasons. You do not, and will not, see that style of programming returning to PC's. The days of hardcoded thread management is long at an end.

(For those interested, the PS3's six SPE's can not directly access main memory, only their own local cache. The system relies on DMA's to keep this cache filled. Needless to say, this can be a major challenge that can kill memory throughput if you don't do a good job. And on an aside, this is similar to how Knights Peak will work...)

Only reason game developers like blizzard don't make better threaded games is most people have shitty PCs. They want the game to run better on dual core systems from 2006 rather than optimizing the game to run on modern cpus. Console ports are done lazily cause it doesn't matter much. They just want the game available to as many people as they want.

WoW is a console port?

As a company selling a product, you target the majority of users. And quite frankly, the majority of users still use their aged Pentium 4's, Intel integrated graphics, and Windows XP. They have a different target market, then say, Crytek.

Secondly, "console port" is a term used these days to describe just about any PC release. Nevermind that "most" companies develop their PC version in parallel to the other consoles. "Console port" should be reserved for PC titles that come out on the PC after the fact.

Intel's mobile cpus are almost all dual cores and thus making it hard for developers to really put 4 heavy threads in games. hyperthreading is just not enough to compensate for actual cores when you deal with unpredictable codes in game engines. There just isn't enough push for more cores because intel is pretty much dominating the PC gaming industry because most people who want to run a few games try to do so on intel based laptops. The stagnation is also caused by people believing they have enough on 2 cores to do everything a game would need. Console games can all be crammed into 2 modern cpu cores. There is really not much to push the core usage higher.

Cores != Thread usage. Seriously people...

Secondly: Developers do NOT hardcode their thread logic. Its up to the OS scheduler to schedule heavy threads on separate cores. The reason for this is simple:

I knew a developer who when the first quads came out did a "smart" idea: He'd offload his heavy workload thread onto the fourth core if one was available., so he would be guaranteed the best possible performance. Good idea, until our AV received an update to do the same exact thing. And the first time the AV went off while we were running our program, both processes ground to a halt. (It was even worse, because apparently both programs did the sin of using "high priority" for those threads, so they constantly swapped eachother out rather then getting any significant amount of work done, making the problem even worse).

Thats why developers do NOT hardcode their threads. Its the domain of the OS. The number of heavy workload threads and the number of processor cores is IRREVERENT as far as developers are concerned.

Thirdly, I've explained numerous times why you won't see better scaling: Because it sucks performance. The more thread communication you have, the worse your performance gets. And there is a point where you spend more time communicating between threads then you would doing actual work.

It'd be 2 or more years before games starts to use more than 2 threads standard. And the same could be said about GPU compute in games. All of this could be very good stuff but as of right now, there is no money in pushing the highest end hardware.[/quotemsg]

Almost all games these days use a good 40+ threads. Open up Task Manager and see for yourself. So yeah...



Can't speak on Sims, but GTAIV is a world that gets streamed in as needed, hence you CAN'T fit the entire world into RAM. Avoids load times, but will cause a HDD bottleneck. GTAIV is the PERFECT example of a game that would benefit from a 64-bit executable for that very reason.



Probably texture loading. More data stored in GPU VRAM = less data to load into main memory.
 

Constant talk of how using a single thread is far better than having many. Why even have cores then? Why don't we have 1.5 Billion transitor single core chips in our systems then? Why not have a single core that can clock @5 Ghz, and have massive schedulers and decoders to keep everything working?

I've mentioned this before, and so many people talk about all the pains and terrible things that happen when you try and code for threads, and how having more than 4 cores will never be needed. Why not go for one Super-mega core?

Not trying to attack here, but don't you think that if the market was better off with super-mega single cores that we would be there instead of here?
 



Power consumption 😉
 
Yes that is true still some games can support 6 cores well but their isn't much difference between 6 and 4 such as resident evil 5. Most games can support 4 cores any ways and still gamer the fact that Skyrim barley used more then 2 cores is sad when Call of duty can use 4 if you ask me that is just sloppy coding. I really don't think we will see to many games scale beyond 4 cores mainly because we don't need them to but in some cases games only use 2 cores and its sad when the game is being made in 2011-2012. Like some one said above i would be happy just to see games use 4 cores. To say its not possible isn't true to say its easy isn't true but i'm sure with all the resources(money)game company's can find a way.
 



I'd say its Still a bottleneck with SSD's and how game company's don't want games to use more then 2GB of ram. Not to mention Vram has a effect on loading times as well and i noticed that when i upgraded from 128 bit DDR3 to 256 Bit DDR5 Vram their was a decrease in loading times.

Plus lets not forget about sloppy coding.
 


Parallel workloads should be threaded. I've said that time after time. But I've also said that most workloads are not easily paralleled, and games are one such example. And there is overhead involved in thread communication, that involves a LOT of waiting by the OS. If you keep creating non-parallel threads, you WILL see limited performance gains, and even performance losses under some loads.

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

Creating more threads for the sake of creating more threads accomplishes nothing.
 

Game devs for the most part don't want to. they want to fight the power, use legacy code so they don't have to re-write their data. the problem is that other software companies are making use of multiple cores, photoshop, encoding, 3d graphics, ect.

Its just the gamers that want to fight the power and claim its impossible. That and think of how much sales you lose if your game requires a quad core or higher cpu. How many dual core I3 and pentiums are sold? Its easier to just say its impractical. Think about it in another way, more often than not, gamers themselves are working on a tight budget and have a low end system. If your a game developer, you cater to them, make them happy by saying this game is dual core friendly.
 


Heat, lazy cpu developers.



mebe




yez
 
Status
Not open for further replies.