Dolphin, the GameCube and Wii emulator - Forums

Full Version: Upcoming PC Build - The 7970 - To be or no to be?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
If you only need that CPU so you get 8 threads, surely a quad core i7, which has hyperthreading, would also do the trick? In case you aren't aware, hyperthreading allows the OS to address each core more or less as if it was two cores, effectively giving you '8 cores' in very threaded applications with non-monumental demand on each thread.
Yes , i7 3770k outperform AMD 8350 in most benchmark (include multi-threaded benchmark though AMD 8350 beat i7 in some benchmark) . Overclock it to 4.2GHz then he will be fine for demanding games . i5 / i7 Ivy Bridge @ 4.2GHz is faster than AMD 8350 @ 6.0GHz via single-threaded benchmark(I don't think you can do this unless you're extremely good at overclocking)
i7 3770k price is 230$ on Microcenter
AMD 8350 : 190$

Pair i7 with Asrock Z77 Extreme 4 or 6
(01-16-2013, 11:19 PM)AnyOldName3 Wrote: [ -> ]If you only need that CPU so you get 8 threads, surely a quad core i7, which has hyperthreading, would also do the trick? In case you aren't aware, hyperthreading allows the OS to address each core more or less as if it was two cores, effectively giving you '8 cores' in very threaded applications with non-monumental demand on each thread.


I'm going to blabber a bit here seeing as I'm on my lunch-break and it never hurts to have an interesting discussion. Big Grin

Firstly, you're partially right. Hyper-threading is entirely virtual, meaning that for each physical core that is present, the OS treats it as two virtual/logical cores. this shows up as 8 threads in an OS. Hyper-threading's main advantage is that it decreases the number of operations in a single pipeline, and allows the OS to schedule executions in this manner as well. If you think about the main principle of parallelization, which is breaking down tasks and executing them individually and simultaneously, this is almost always faster than cramming it down a single queue at a ridiculously faster clock. This is what hyper-threading does, and does well.

However, because the 4 of the 8 threads in hyper threading are entirely virtual, this means at a low-level a single physical core is still executing two threads at a rate of whatever that physical core is operating at. In addition, however many floating point, integer units and instruction sets that physical core has is shared between the 2 threads per core.

AMD's Piledriver architecture is very different, the CPU has 8 physical cores, and the OS recognizes that as 8 physical threads. On top of this, for each core you have a dedicated number of instructions sets (FMA, XOP, F16C instructions, etc) and the floating point/integer units for that thread are computed at an unified speed of the physical core itself, unlike a hyper-threaded counterpart. In Intel's core all threads must compete for available execution resources.

Where Piledriver lacks is single-threaded performance. Hence why for gaming (where most games while only ever utilize 2-4 threads) Intel's i series generally does better. But for any application that uses 4 or more threads, and video encoding/editing is a prime example of this, the Piledriver architecture really does shine.

If you were to throw a heavily multi-threaded application at the FX-8350, the FX-8350 will almost always come out on top, and it's down to the architectural difference between the CPU's. In fact, you can see the advantages of the FX-8350 here (sadly I can't find any other benchmark where they test a game+another application running simultaneously on both i-series and FX-8350 CPUs). And even in areas a little more closer to home; the AMD does well in multi-GPU setups, which exponentially relies on paralleling CPU performance, which divides better over 8 physical threads than 4 virtua and 4 phsyical ones: see here (you can find more of these on the overclock.net, where people are able to run 16 instances of minecraft without a hitch, etc).

I probably sound pro-AMD saying all this but sadly most people tend to denote a CPU's worth by it's performance in gaming, which for obvious reasons I can see why. But I thought I'd explain my reasons for choosing the CPU for my upcoming research (that and the entire paper relies on architectural CPUs that have octo-cores and their computational efficiency).

As a side note, FX-8350 CPU's are underlcocked to 4.0GHz. That means that it's very easy to overlcock, if you look over forums, just by raising the voltage slightly and the FSB clock you can easily reach a stable speed of 5Ghz (and this is on air). The FX series are well known for their overclocking prowess.
Quote:Any application that uses 4 or more threads, and video encoding/editing is a prime example of this, the Piledriver architecture really does shine.
If you were to throw a heavily multi-threaded application at the FX-8350, the FX-8350 will almost always come out on top
100000 years too early for that CPU . Your logic is wrong
Look at real-time benchmark via each app (video encoding software , pc games that support multi-core CPU)
http://www.anandtech.com/bench/Product/697?vs=551

i5 3570k , i7 3770k , AMD 8350 which is the best CPU
_Power Consumption - Load : 101 - 120 - 195 ! -> i5 : 48.2% better , i7 : 38.5% better
_Single Thread - Cinebench : 6557 - 6862 - 4319 ! -> i5 : 34.1% faster , i7 : 37% faster
_Multi Thread - Cinebench : 22742 - 25703 - 23437 -> i5 : minus 3% , i7 : 8.8% faster
_Price (Micro Center) : 190 - 230 - 190 -> i5 : draw , i7 : minus 17.4%

Overall , AMD 8350 is definitely not in my list
(01-17-2013, 01:07 AM)admin89 Wrote: [ -> ]
Quote:Any application that uses 4 or more threads, and video encoding/editing is a prime example of this, the Piledriver architecture really does shine.
If you were to throw a heavily multi-threaded application at the FX-8350, the FX-8350 will almost always come out on top
100000 years too early for that CPU . Your logic is wrong
Look at real-time benchmark via each app (video encoding software , pc games that support multi-core CPU)
http://www.anandtech.com/bench/Product/697?vs=551

So, again, notice I said 4 or more threads, and the same applies when I say heavily multi-threaded. Most games most commonly use 2 threads, very rarely do you find a game that uses 4 individual threads, after that it's up to the OS to schedule the load to the remaining areas of the CPU. Note that I did say Piledriver is weaker in single-threaded applications, most of the tests on Anandtech were single-threaded, and doesn't specify to what extent "multi-threaded" denoted here. After some brief searching this benchmark from Guru3D as well as this one from Legit Reviews shows the FX-8350 strength in encoding; in raw video trans-coding it's competing with i7 3960x (which, as you know, cost significantly more). Keep in mind that what the AMD FX-8350 was designed to compete against the i5 series, and is priced less than the i5 as well. Your link to Anandtech shows it competing against an i7 3770K.

I can't attest that every application that Anadatech tested is multi-threaded enough for Piledriver to show its guns, but in applications that we know are, or at least when pitched against multiple running instances of intensive programs (like in the benchmarks I linked to previously, including Multi-GPU rigs), the Piledriver architecture does show big gains over the i-series.

Although I do agree (though not to the same extent) that the Piledriver architecture may be early for its time, for the sake of people (like myself) that actually work exclusively with multi-threaded and paralleling programs, this is a push in the right direction. It encourages the development of more-than-4-core CPU's as a standard (which the server realm has had for a very long time now), the desktop market has been stuck with quad-core CPU's for far too long.
Quote:"it's competing with i7 3960x "
Where ?
In the link that you provide , they say nothing about that . I only see AMD 8350 is trying to keep up with i7 3770k
Note that AMD 8350 does outperform i7 3770k in a few benchmark . Why ? It's not because AMD is faster but AMD has already optimized that app for their CPU . This is nothing strange . Let talk about GPU : Nvidia & AMD :
AMD xxxx outperform Nvidia GTX yyy in most games but why Nvidia yyy still outperform AMD xxxx in some games ?
To be fair, everyone on this thread recommending a 3770k is only doing so because you stated that need a CPU capable of running octo-threaded applications, and that you want to run games such as Super Mario Galaxy in Dolphin. The 3770k will allow you to do both of these. The 8350 won't.
Moreover, all I see in those links that you posted is the 3770k and the 8350 neck and neck in video transcoding, with the 3770k at a lower clockspeed than the 8350. If you really do need a CPU with 8 integer cores for your studies, then you cannot play all of the games that you want to play in Dolphin with it, simple as that.

As for the GPU, I tried a HD 7770 on a friends rig with Dolphin and it was faster in DX11 than it was in DX9. Both backends seemed to work fine, although DX9 had a lot more frame-drops causing stuttering. Nothing conclusive merely anecdotal, but it indicates that there was no issue using the DX11 backend, although conversely indicates the possibility of DX9 issues in the latest drivers. Possibly...
Can I just mention that if you ask two incompetent people to each do one maths problem, they'll take about the same time or longer than someone who knows what they're doing doing the two problems on their own. AMD throw extra cores at their CPUs because their cores are crap. Intel's design is much better, so they don't need as many cores to give equal or greater performance.

Also, the only applications in which the AMD chip significantly outperforms the i7 are ones specifically designed to run faster on AMD cores than Intel ones. There are certain optimisations that can be made to a program so it runs better on AMD cores than it would otherwise, but these hurt Intel performance. I've also read that these optimisations are a pig to implement, and so barely any software houses bother.
Oh christ another one of these. I pray I never have to explain this stuff again because I've done it more times than I can count now.

Please read the following post (repeatedly until you completely understand it):
Glossy of terms on OP in this thread, specifically the section on parallelism: http://forums.dolphin-emu.org/Thread-cpu-microarchitecture-hierarchy


KillAWatt1705 Wrote:I'm going to blabber a bit here seeing as I'm on my lunch-break and it never hurts to have an interesting discussion. Big Grin

Firstly, you're partially right. Hyper-threading is entirely virtual, meaning that for each physical core that is present, the OS treats it as two virtual/logical cores. this shows up as 8 threads in an OS.

This is a bit misleading. AMD told the press this because it sounds better than a more accurate description. Both HT and CMT require similar amounts of additional hardware at the core level to implement in order to allow the core to manage two threads. Both have redundant hardware that is disabled if the core is only running one thread. Both therefore provide two logical cores from one physical set of hardware. The only difference is the use of dedicated vs. shared control schemes. AMD apparently deems this enough to consider a module two cores (since that helps market the product) when it really should be considered one core. Since the term core has never been formally defined and has evolved into a marketing term (introduced for comparison purposes with multicore processors) AMD is free to spin this however they want.

For the record a dedicated control scheme is slightly better in the event that two threads are running on the same core and a shared control scheme is MUCH better if one thread is running on a core.

KillAWatt1705 Wrote:Hyper-threading's main advantage is that it decreases the number of operations in a single pipeline, and allows the OS to schedule executions in this manner as well. If you think about the main principle of parallelization, which is breaking down tasks and executing them individually and simultaneously, this is almost always faster than cramming it down a single queue at a ridiculously faster clock. This is what hyper-threading does, and does well.

Hyperthreading provides two main advantages to heavily multithreaded programs:
1. Higher utilization of resources due to reduced data dependencies
2. In the event of a stall the other thread can continue execution

KillAWatt1705 Wrote:However, because the 4 of the 8 threads in hyper threading are entirely virtual,

None of them are virtual. All of them are logical. And they're not threads, they're cores. You have 4 physical cores and 8 logical cores.

KillAWatt1705 Wrote:this means at a low-level a single physical core is still executing two threads at a rate of whatever that physical core is operating at. In addition, however many floating point, integer units and instruction sets that physical core has is shared between the 2 threads per core.

A core can have multiple instruction sets? What?

KillAWatt1705 Wrote:AMD's Piledriver architecture is very different, the CPU has 8 physical cores, and the OS recognizes that as 8 physical threads.

Physical threads? What?

You have 8 physical cores and 8 logical cores.

KillAWatt1705 Wrote:On top of this, for each core you have a dedicated number of instructions sets (FMA, XOP, F16C instructions, etc)

What? That makes no sense. All cores support the same instruction set extensions.

KillAWatt1705 Wrote:and the floating point/integer units for that thread are computed at an unified speed of the physical core itself, unlike a hyper-threaded counterpart.

What? The makes no sense. Please rephrase.

KillAWatt1705 Wrote:In Intel's core all threads must compete for available execution resources.

All threads that are running on the same core, yes.

KillAWatt1705 Wrote:Where Piledriver lacks is single-threaded performance. Hence why for gaming (where most games while only ever utilize 2-4 threads) Intel's i series generally does better.

The story behind why piledriver sucks for running video game engines is a bit deeper than "because it's not heavily multithreaded". But I don't really have time to discuss that in detail right now.

KillAWatt1705 Wrote:But for any application that uses 4 or more threads, and video encoding/editing is a prime example of this, the Piledriver architecture really does shine.

Being heavily multithreaded is not enough to make piledriver shine. The application needs to have a number of traits as well that video encoders happen to have. Such as infrequent and short data dependency chains, integer heavy arithmetic calculations, fairly predictable memory access patterns. Etc.

KillAWatt1705 Wrote:If you were to throw a heavily multi-threaded application at the FX-8350, the FX-8350 will almost always come out on top,

Not necessarily true. It depends on the type of application.

KillAWatt1705 Wrote:the AMD does well in multi-GPU setups, which exponentially relies on paralleling CPU performance,

Oh brother. No it doesn't.

KillAWatt1705 Wrote:which divides better over 8 physical threads than 4 virtua and 4 phsyical ones: see here (you can find more of these on the overclock.net, where people are able to run 16 instances of minecraft without a hitch, etc).

Please for the love of god look up the terms physical thread, virtual thread, logical thread, logical core, virtual core, and physical core. You clearly do not understand the difference between them.

KillAWatt1705 Wrote:I probably sound pro-AMD saying all this but sadly most people tend to denote a CPU's worth by it's performance in gaming, which for obvious reasons I can see why. But I thought I'd explain my reasons for choosing the CPU for my upcoming research (that and the entire paper relies on architectural CPUs that have octo-cores and their computational efficiency).

You don't sound pro-AMD. You sound like you have no idea what you're talking about.

KillAWatt1705 Wrote:As a side note, FX-8350 CPU's are underlcocked to 4.0GHz. That means that it's very easy to overlcock, if you look over forums, just by raising the voltage slightly and the FSB clock you can easily reach a stable speed of 5Ghz (and this is on air). The FX series are well known for their overclocking prowess.

They are terrible at overclocking. Their power scaling is one of the worst of any architecture in the last 5 years. They are one of the few architectures that requires a voltage bump for even a tiny OC. The mark of a chip that has been pushed to its thermal limits out of desperation.

Sandy bridge can hit 5GHz with half the power consumption and a much smaller bump in voltage.

It is a horribly inefficient architecture. And this is after 7 years of development and more than 3 deadline extensions. Over the last 10 years almost every outstanding electronic engineer at AMD has either left the company or been promoted to management positions where they don't belong. And it shows.

I do not have the willpower right now to spend multiple hours (yes it would take that long) writing a wall of text detailing why you're wrong, what the correct definitions are for many of those words that don't seem to understand, and detailing the differences between these two architectures as well as what software characteristics are affected by them and how. Instead I will ask that in the meantime you search for these things on the forum and read through that post that linked at the beginning of these posts.

Now I guess I'll begin reading some of the other posts in this thread since responding to yours at least peaked my interest a little.
Not been flamed yet, and NV has done a total of 1 post(s). This implies I'm kinda right about something! I don't doubt that NV will tell me I'm wrong about something, though, even if it's as petty as I've implied something that isn't true is etc. (I'm aware I do this a lot).
Pages: 1 2 3