Jump to content

AMD speaks on W10 scheduler and Ryzen

1 minute ago, pas008 said:

why couldnt this already be done 3rd party like inspector/flawless widescreen/etc?

You didn't read the comment properly, did you? xD

2 minutes ago, pas008 said:

The only way Microsoft could improve the situation that I can think of, would be to build an AI into the scheduler which can analyze the characteristics of every program it runs, and do comparisons of when it is and isn't beneficial to keep it to a single CCX. But that has a ton of issues as well.

 

CPU: Intel Core i7-5820K | Motherboard: AsRock X99 Extreme4 | Graphics Card: Gigabyte GTX 1080 G1 Gaming | RAM: 16GB G.Skill Ripjaws4 2133MHz | Storage: 1 x Samsung 860 EVO 1TB | 1 x WD Green 2TB | 1 x WD Blue 500GB | PSU: Corsair RM750x | Case: Phanteks Enthoo Pro (White) | Cooling: Arctic Freezer i32

 

Mice: Logitech G Pro X Superlight (main), Logitech G Pro Wireless, Razer Viper Ultimate, Zowie S1 Divina Blue, Zowie FK1-B Divina Blue, Logitech G Pro (3366 sensor), Glorious Model O, Razer Viper Mini, Logitech G305, Logitech G502, Logitech G402

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, PCGuy_5960 said:

You didn't read the comment properly, did you? xD

 

get to your point I am working here too

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, pas008 said:

get to your point I am working here too

Read this:

15 minutes ago, LAwLz said:

The only way Microsoft could improve the situation that I can think of, would be to build an AI into the scheduler which can analyze the characteristics of every program it runs, and do comparisons of when it is and isn't beneficial to keep it to a single CCX. But that has a ton of issues as well.

(I quoted that part from your post and it looked like it was from your post, whereas it was from @LAwLz post xD)

CPU: Intel Core i7-5820K | Motherboard: AsRock X99 Extreme4 | Graphics Card: Gigabyte GTX 1080 G1 Gaming | RAM: 16GB G.Skill Ripjaws4 2133MHz | Storage: 1 x Samsung 860 EVO 1TB | 1 x WD Green 2TB | 1 x WD Blue 500GB | PSU: Corsair RM750x | Case: Phanteks Enthoo Pro (White) | Cooling: Arctic Freezer i32

 

Mice: Logitech G Pro X Superlight (main), Logitech G Pro Wireless, Razer Viper Ultimate, Zowie S1 Divina Blue, Zowie FK1-B Divina Blue, Logitech G Pro (3366 sensor), Glorious Model O, Razer Viper Mini, Logitech G305, Logitech G502, Logitech G402

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, PCGuy_5960 said:

Read this:

(I quoted that part from your post and it looked like it was from your post, whereas it was from @LAwLz post xD)

how would that matter if 3rd party app would allow you to add a program and change its scheduling in a variety of way including others open sourced algorithms to gain best performance

 

 

its just an idea just want more details why its wouldnt work

becuz of the work? when people love a product, people tend to pull together to get shit done

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, PCGuy_5960 said:

Why? i7s are the best gaming CPUs.... And you will notice an imrpovement when getting an i7 instead of an i5

Most games recommend an i5, therefore you should get an i7, this is what you are trying to tell me, right? You are contradicting yourself here.......

 

i5's are the bare minimum in that aspect and we already know for a fact an i5 will tap out before an  i7. I can run bf1 on my 6500 but the recommended is the 6600k and I have to dial back settings to keep in the 90+ fps range, I mean I can run it maxed out and rarely dip below 60 fps but I really don't like frequent frame dips in intense gun fights or intense scenarios in games in general

CPU: Intel i7 7700K | GPU: ROG Strix GTX 1080Ti | PSU: Seasonic X-1250 (faulty) | Memory: Corsair Vengeance RGB 3200Mhz 16GB | OS Drive: Western Digital Black NVMe 250GB | Game Drive(s): Samsung 970 Evo 500GB, Hitachi 7K3000 3TB 3.5" | Motherboard: Gigabyte Z270x Gaming 7 | Case: Fractal Design Define S (No Window and modded front Panel) | Monitor(s): Dell S2716DG G-Sync 144Hz, Acer R240HY 60Hz (Dead) | Keyboard: G.SKILL RIPJAWS KM780R MX | Mouse: Steelseries Sensei 310 (Striked out parts are sold or dead, awaiting zen2 parts)

Link to comment
Share on other sites

Link to post
Share on other sites

15 minutes ago, pas008 said:

why couldnt this already be done 3rd party like inspector/flawless widescreen/etc?

It might be possible. I was just saying that if people are asking Microsoft to do something about the situation, that's the only thing they could do (that I can think of).

 

Third party developers could do things as well. There is a way to bypass Windows' scheduler (kind of) so they could do that when detecting a Ryzen CPU. That would require all developers to add specific cases for when specific SKUs of Ryzen is detected though... There is no way that is going to happen.

People could do it by hand, but that by itself becomes a massive undertaking with lots of potential to go wrong. Just because keeping data to one CCX would benefit one function in a program, doesn't mean it would benefit all functions. So if you test one case the result might indicate that you should only run it on one CCX, but then you test another case and all of a sudden using both CCXes would be the best. And what if a program gets updated? If you just flag "let Battlefield 1 only run on one CCX" because that's best today, then a patch comes out which makes it so that using both CCXes would be beneficial then you're missing out on performance.

 

Are you going to manually redo these tests whenever a program comes out? If you allow other people to do it then what if they don't test your use scenario?

It just becomes a mess. It needs to be automated and it need to constantly be updated based on your own use cases. The only way to do that is to let your own computer do the comparisons, but that eats up resources too.

Would the resources spent doing the comparisons be more or less than the resources you save by swapping data around over the interconnector? Who knows...

 

I don't know if a third party developer could modify the scheduler. It kind of runs "below" other programs, and it is generally a bad idea to mess with those kinds of things.

Link to comment
Share on other sites

Link to post
Share on other sites

25 minutes ago, LAwLz said:

That might sound like a simple and efficient solution, but when you remember how many threads are actually running from each process you quickly realize that keeping them on a single CCX would most likely cause more issues than good. I mean, even a rather simple program like Dropbox spawns closer to 200 threads. Limiting each process to a single CCX would most likely result in lower performance far more often than it would increase it, and assigning it by hand is far too time consuming.

 

The only way Microsoft could improve the situation that I can think of, would be to build an AI into the scheduler which can analyze the characteristics of every program it runs, and do comparisons of when it is and isn't beneficial to keep it to a single CCX. But that has a ton of issues as well.

What you are forgetting is how many of those threads aren't critical to the application performance. They can sit idle for some time without affecting the application. Threads gets assigned a priority number that helps the scheduler schedule the threads properly. To further this point, you don't see the 4 core Intel processor with issues running it. 

 

You really don't want an AI running in the scheduler with our current hardware, the overhead will penalize the performance more than it will help. At least if we are talking about runtime analysis.

Please avoid feeding the argumentative narcissistic academic monkey.

"the last 20 percent – going from demo to production-worthy algorithm – is both hard and is time-consuming. The last 20 percent is what separates the men from the boys" - Mobileye CEO

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, XenosTech said:

i5's are the bare minimum in that aspect and we already know for a fact an i5 will tap out before an  i7. I can run bf1 on my 6500 but the recommended is the 6600k and I have to dial back settings to keep in the 90+ fps range, I mean I can run it maxed out and rarely dip below 60 fps but I really don't like frequent frame dips in intense gun fights or intense scenarios in games in general

Then how are i7s "average" for gaming? They are the best CPUs for gaming......

28 minutes ago, XenosTech said:

To me i7's are avg chips for gaming.

 

CPU: Intel Core i7-5820K | Motherboard: AsRock X99 Extreme4 | Graphics Card: Gigabyte GTX 1080 G1 Gaming | RAM: 16GB G.Skill Ripjaws4 2133MHz | Storage: 1 x Samsung 860 EVO 1TB | 1 x WD Green 2TB | 1 x WD Blue 500GB | PSU: Corsair RM750x | Case: Phanteks Enthoo Pro (White) | Cooling: Arctic Freezer i32

 

Mice: Logitech G Pro X Superlight (main), Logitech G Pro Wireless, Razer Viper Ultimate, Zowie S1 Divina Blue, Zowie FK1-B Divina Blue, Logitech G Pro (3366 sensor), Glorious Model O, Razer Viper Mini, Logitech G305, Logitech G502, Logitech G402

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, PCGuy_5960 said:

Then how are i7s "average" for gaming? They are the best CPUs for gaming......

 

To me they are average as in the norm you should get if you don't want to deal with cpu bottlenecks and dial back settings. I'm not even disputing they aren't the best, I'm just saying to me they're average

CPU: Intel i7 7700K | GPU: ROG Strix GTX 1080Ti | PSU: Seasonic X-1250 (faulty) | Memory: Corsair Vengeance RGB 3200Mhz 16GB | OS Drive: Western Digital Black NVMe 250GB | Game Drive(s): Samsung 970 Evo 500GB, Hitachi 7K3000 3TB 3.5" | Motherboard: Gigabyte Z270x Gaming 7 | Case: Fractal Design Define S (No Window and modded front Panel) | Monitor(s): Dell S2716DG G-Sync 144Hz, Acer R240HY 60Hz (Dead) | Keyboard: G.SKILL RIPJAWS KM780R MX | Mouse: Steelseries Sensei 310 (Striked out parts are sold or dead, awaiting zen2 parts)

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, Tomsen said:

What you are forgetting is how many of those threads aren't critical to the application performance. They can sit idle for some time without affecting the application. Threads gets assigned a priority number that helps the scheduler schedule the threads properly. To further this point, you don't see the 4 core Intel processor with issues running it. 

Yes, but for some programs they are all critical to the performance. What do you do then? Programs has such a wide range of characteristics that you can't really do a broad generalization like "just limit all processes to a single CCX" without it having massive drawbacks for some programs.

 

I haven't looked at how x264 handles threading, but if we assume that it uses uses one thread for each macro block then you could have hundreds of threads running at once, all of which have other dependencies. Limiting t to one CCX in that scenario would be devastating to performance. What you would need to do is analyze which thread is dependent on which other thread, keep those on the same CCX, and then allow the process as a whole to access both.

That's not something you can just hardcode. It has to be adaptive.

 

 

11 minutes ago, Tomsen said:

You really don't want an AI running in the scheduler with our current hardware, the overhead will penalize the performance more than it will help. At least if we are talking about runtime analysis.

I know. That's the issue I was alluding to.

It could be done like once every ~10 runs so you would end up with one slow run, and 9 slightly faster ones. That's still not a good solution though. Relying on third party developers to hard code it is not practical either.

 

I think it's just an inherent flaw in the architecture itself, and people should not hold their breaths waiting for Microsoft to fix it, because it might not be possible.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, XenosTech said:

To me they are average as in the norm you should get if you don't want to deal with cpu bottlenecks and dial back settings. I'm not even disputing they aren't the best, I'm just saying to me they're average

What? When you say that something is average you are implying that it is not that good..... How can something be average when it is the best?

I think that you mean this...:

4 minutes ago, XenosTech said:

To me they are not worth it as in the norm you should get if you don't want to deal with cpu bottlenecks and dial back settings. I'm not even disputing they aren't the best, I'm just saying to me they're not worth it

 

CPU: Intel Core i7-5820K | Motherboard: AsRock X99 Extreme4 | Graphics Card: Gigabyte GTX 1080 G1 Gaming | RAM: 16GB G.Skill Ripjaws4 2133MHz | Storage: 1 x Samsung 860 EVO 1TB | 1 x WD Green 2TB | 1 x WD Blue 500GB | PSU: Corsair RM750x | Case: Phanteks Enthoo Pro (White) | Cooling: Arctic Freezer i32

 

Mice: Logitech G Pro X Superlight (main), Logitech G Pro Wireless, Razer Viper Ultimate, Zowie S1 Divina Blue, Zowie FK1-B Divina Blue, Logitech G Pro (3366 sensor), Glorious Model O, Razer Viper Mini, Logitech G305, Logitech G502, Logitech G402

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, PCGuy_5960 said:

What? When you say that something is average you are implying that it is not that good..... How can something be average when it is the best?

I think that you mean this...:

 

No I mean that to me they're the norm and to me they are average..... It's like how every one is on this 1440p and 4k craze and 1080 wich was once that craze is the norm. i7's are just like that to me... been around so long doing the same thing that you arealy know how it's going to perform so nothing about it seems to blow the fish out of the water (well other than kaby lakes impressive ocing) so to me they're just average

CPU: Intel i7 7700K | GPU: ROG Strix GTX 1080Ti | PSU: Seasonic X-1250 (faulty) | Memory: Corsair Vengeance RGB 3200Mhz 16GB | OS Drive: Western Digital Black NVMe 250GB | Game Drive(s): Samsung 970 Evo 500GB, Hitachi 7K3000 3TB 3.5" | Motherboard: Gigabyte Z270x Gaming 7 | Case: Fractal Design Define S (No Window and modded front Panel) | Monitor(s): Dell S2716DG G-Sync 144Hz, Acer R240HY 60Hz (Dead) | Keyboard: G.SKILL RIPJAWS KM780R MX | Mouse: Steelseries Sensei 310 (Striked out parts are sold or dead, awaiting zen2 parts)

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, XenosTech said:

No I mean that to me they're the norm and to me they are average..... It's like how every one is on this 1440p and 4k craze and 1080 wich was once that craze is the norm. i7's are just like that to me... been around so long doing the same thing that you arealy know how it's going to perform so nothing about it seems to blow the fish out of the water (well other than kaby lakes impressive ocing) so to me they're just average

You may want to brush up on your definition of average..... And BTW, what is not the norm to you then? Xeons?! xD

CPU: Intel Core i7-5820K | Motherboard: AsRock X99 Extreme4 | Graphics Card: Gigabyte GTX 1080 G1 Gaming | RAM: 16GB G.Skill Ripjaws4 2133MHz | Storage: 1 x Samsung 860 EVO 1TB | 1 x WD Green 2TB | 1 x WD Blue 500GB | PSU: Corsair RM750x | Case: Phanteks Enthoo Pro (White) | Cooling: Arctic Freezer i32

 

Mice: Logitech G Pro X Superlight (main), Logitech G Pro Wireless, Razer Viper Ultimate, Zowie S1 Divina Blue, Zowie FK1-B Divina Blue, Logitech G Pro (3366 sensor), Glorious Model O, Razer Viper Mini, Logitech G305, Logitech G502, Logitech G402

Link to comment
Share on other sites

Link to post
Share on other sites

13 minutes ago, XenosTech said:

To me they are average as in the norm you should get if you don't want to deal with cpu bottlenecks and dial back settings. I'm not even disputing they aren't the best, I'm just saying to me they're average

CPU performance generally cannot be improved much by dialing back settings. In fact, the more you give your GPU to do, the more likely it is to duck in under whatever CPU limit you might otherwise have hit.

 

http://store.steampowered.com/hwsurvey

In the real world the average gamer still probably has something on the order of an i3 or AMD FX processor. i5's are where the high-end begins, in the grand scheme of things. Aside from an outlier or two like BF1, that's the point at which you can begin worrying about whether you can hit 144 FPS.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, PCGuy_5960 said:

You may want to brush up on your definition of average..... And BTW, what is not the norm to you then? Xeons?! xD

Not really it's just a matter of context.... To me average is just the norm in the context of computing.

 

Nothing really feels or look out of the norm to me most of the time, probably because I always have rather low expectations of things in thinking but you generally wouldn't get that from the way I speak about things.

2 minutes ago, typographie said:

CPU performance generally cannot be improved much by dialing back settings. In fact, the more you give your GPU to do, the more likely it is to duck in under whatever CPU limit you might otherwise have hit.

 

http://store.steampowered.com/hwsurvey

In the real world the average gamer still probably has something on the order of an i3 or AMD FX processor. i5's are where the high-end begins, in the grand scheme of things. Aside from an outlier or two like BF1, that's the point at which you can begin worrying about whether you can hit 144 FPS.

I spent most of my time gaming on igpus lol (I really didn't have much of an option when my power supply blew up in a power surge)

CPU: Intel i7 7700K | GPU: ROG Strix GTX 1080Ti | PSU: Seasonic X-1250 (faulty) | Memory: Corsair Vengeance RGB 3200Mhz 16GB | OS Drive: Western Digital Black NVMe 250GB | Game Drive(s): Samsung 970 Evo 500GB, Hitachi 7K3000 3TB 3.5" | Motherboard: Gigabyte Z270x Gaming 7 | Case: Fractal Design Define S (No Window and modded front Panel) | Monitor(s): Dell S2716DG G-Sync 144Hz, Acer R240HY 60Hz (Dead) | Keyboard: G.SKILL RIPJAWS KM780R MX | Mouse: Steelseries Sensei 310 (Striked out parts are sold or dead, awaiting zen2 parts)

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, PCGuy_5960 said:

Which kind of makes me wonder... Why did AMD not make an 8 core die and instead decided to make a dual quad core die? WHYYYY? Ryzen would have been THE CPU to buy, if it didn't have this flaw!

It certainly would have been far more potent for consumers. Their main goal looks to be Enterprise; and the modular design of the system is perfect for Naples and massive servers and data centres.

It's what allows them to get a 32core monster CPU out so soon, along with 128PCIe lanes, and 8 channel memory.

Knowing that the interconnect between the CCX's runs at 1:2 RAM speed, having ram over 3000MHz should help. Sadly due to the early launch barely any motherboards support ram speeds over 2400/2666Mhz, nevermind the max Ryzen supports of 3600Mhz on current x370 chipset boards :/

The "Infinity Fabric" is also scalable upto 512GBs, which is certainly far better than the current 22GBs we have now; due to crappy RAM support; and the fact that AMD likely skimped on that to save the good stuff for Naples.

It's a damn shame really, if Ryzen could gain that 3-8% gaming performance it would be pretty darn nice. Ignoring that in a game like BF1 you see a 20% performance improvement....

 

AMD's other issue is GlobalFoundries 14nm FinFit LLP. It doesn't do that well with Highclocks it seems, so the 4 Quadcore might be limited there. If it's not stuck at that 4-4.2Ghz cap, we could have the best Bang for buck gaming CPU around.

Especially since it's apparently coming in around $175-199 for the 4c/8t version.

 

5950X | NH D15S | 64GB 3200Mhz | RTX 3090 | ASUS PG348Q+MG278Q

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, XenosTech said:

To me they are average as in the norm you should get if you don't want to deal with cpu bottlenecks and dial back settings. I'm not even disputing they aren't the best, I'm just saying to me they're average

Something can't be the best and average at the same time, unless the majority of versions of that thing are the best.

Edited by N3v3r3nding_N3wb
Cleared up wording

Royal Rumble: https://pcpartpicker.com/user/N3v3r3nding_N3wb/saved/#view=NR9ycf

 

"How fortunate for governments that the people they administer don't think." -- Adolf Hitler
 

"I am always ready to learn although I do not always like being taught." -- Winston Churchill

 

"We must learn to live together as brothers or perish together as fools." -- Martin Luther King Jr.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, N3v3r3nding_N3wb said:

Something can't be the best and average at the same time, unless the majority of that thing is the best.

you should read down....

CPU: Intel i7 7700K | GPU: ROG Strix GTX 1080Ti | PSU: Seasonic X-1250 (faulty) | Memory: Corsair Vengeance RGB 3200Mhz 16GB | OS Drive: Western Digital Black NVMe 250GB | Game Drive(s): Samsung 970 Evo 500GB, Hitachi 7K3000 3TB 3.5" | Motherboard: Gigabyte Z270x Gaming 7 | Case: Fractal Design Define S (No Window and modded front Panel) | Monitor(s): Dell S2716DG G-Sync 144Hz, Acer R240HY 60Hz (Dead) | Keyboard: G.SKILL RIPJAWS KM780R MX | Mouse: Steelseries Sensei 310 (Striked out parts are sold or dead, awaiting zen2 parts)

Link to comment
Share on other sites

Link to post
Share on other sites

28 minutes ago, LAwLz said:

Yes, but for some programs they are all critical to the performance. What do you do then? Programs has such a wide range of characteristics that you can't really do a broad generalization like "just limit all processes to a single CCX" without it having massive drawbacks for some programs.

I can't think of a single one that isn't running massive parallel code (parallel and not multi-threaded). Parallel code doesn't rely to much on inter-core communications.

Programs scheduling characteristics aren't that wide of a spectrum tho, todays scheduling is done with a few different parameters and it seems to run the vast majority of programs just fine.

 

Do note I'm not suggesting that you should make a hard limit saying all threads spawned from a single parent process will be locked to one CCX, but rather that should be the default behavior.

 

28 minutes ago, LAwLz said:

I haven't looked at how x264 handles threading, but if we assume that it uses uses one thread for each macro block then you could have hundreds of threads running at once, all of which have other dependencies. Limiting t to one CCX in that scenario would be devastating to performance. What you would need to do is analyze which thread is dependent on which other thread, keep those on the same CCX, and then allow the process as a whole to access both.

That's not something you can just hardcode. It has to be adaptive.

Haven't they already benched ryzen on x264? IIRC it fared quite well. Also isn't x264 running parallel code?

 

28 minutes ago, LAwLz said:

I know. That's the issue I was alluding to.

It could be done like once every ~10 runs so you would end up with one slow run, and 9 slightly faster ones. That's still not a good solution though. Relying on third party developers to hard code it is not practical either.

 

I think it's just an inherent flaw in the architecture itself, and people should not hold their breaths waiting for Microsoft to fix it, because it might not be possible.

I think the better option would be to have dedicated hardware doing it. Maybe a little efficient ARM chip with read access to system memory could help.

Please avoid feeding the argumentative narcissistic academic monkey.

"the last 20 percent – going from demo to production-worthy algorithm – is both hard and is time-consuming. The last 20 percent is what separates the men from the boys" - Mobileye CEO

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, XenosTech said:

you should read down....

What would be over the average for you then? Lets put it that way to further your guys conversation.

Please avoid feeding the argumentative narcissistic academic monkey.

"the last 20 percent – going from demo to production-worthy algorithm – is both hard and is time-consuming. The last 20 percent is what separates the men from the boys" - Mobileye CEO

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Tomsen said:

What would be over the average for you then? Lets put it that way to further your guys conversation.

Ground breaking stuff, pushing barriers... Ryzen should fit that bill but I'm not one to have high hopes for things, you murphury's law and shit just happens.

 

But to add to that if intel redesigned the core i series from teh ground up to be like amd's line up... that would be something I'd consider over average til we end up right back here where we expect and know how it performs without having to put much thought into it.

CPU: Intel i7 7700K | GPU: ROG Strix GTX 1080Ti | PSU: Seasonic X-1250 (faulty) | Memory: Corsair Vengeance RGB 3200Mhz 16GB | OS Drive: Western Digital Black NVMe 250GB | Game Drive(s): Samsung 970 Evo 500GB, Hitachi 7K3000 3TB 3.5" | Motherboard: Gigabyte Z270x Gaming 7 | Case: Fractal Design Define S (No Window and modded front Panel) | Monitor(s): Dell S2716DG G-Sync 144Hz, Acer R240HY 60Hz (Dead) | Keyboard: G.SKILL RIPJAWS KM780R MX | Mouse: Steelseries Sensei 310 (Striked out parts are sold or dead, awaiting zen2 parts)

Link to comment
Share on other sites

Link to post
Share on other sites

Another test showing that Ryzen 4C is performing better than 8 after turning off one CCX.

 

Some games love it, the others still prefer more cores, even with the interconnect latency. 

 

 

5950X | NH D15S | 64GB 3200Mhz | RTX 3090 | ASUS PG348Q+MG278Q

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Tomsen said:

Do note I'm not suggesting that you should make a hard limit saying all threads spawned from a single parent process will be locked to one CCX, but rather that should be the default behavior.

Well that makes a bit more sense (I thought you meant it should be a hard coded rule) but I don't think it would be a good idea regardless. How would you determine if it would be an exception to the default behavior? Does the application developer do that? Then you run the risk of bad performance being the default for a lot of programs. Does Windows determine that? I don't see how they could do it without real-time analysis of how much intercommunication is going on between the CCXs.

 

1 hour ago, Tomsen said:

Haven't they already benched ryzen on x264? IIRC it fared quite well. Also isn't x264 running parallel code?

Yes it has been benched with x264 and I wouldn't say it was amazing, but it was good.

The 1700X is about 11% faster than a 7700K.

For comparison. The 6900K is 23% faster than the 1700X.

 

For HEVC 1700X, 1800X, the 6900K and the 7700K are all pretty much the same. It's like a 4% difference between the fastest and slowest.

 

 

I talked to one of the x264 developers and he said that it isn't as parallel as some people might think (although he was talking about CPU vs GPU encoding, so like 8 cores vs 1000 cores).

I think that's because it gains a lot of parallelism from using macro blocks, but each one of those macro blocks has a lot of dependencies tied to them. I have no idea how much core to core communication is going on in video encoding though. It is probably not all that much, but I am really not qualified to comment on it.

 

 

1 hour ago, Tomsen said:

I think the better option would be to have dedicated hardware doing it. Maybe a little efficient ARM chip with read access to system memory could help.

That could work. I was just talking about what I thought Microsoft could do with the existing hardware though. If we're talking about hardware changes then wouldn't it be best to just do a single die (not two CCXs) and then use a ring bus like Intel does? That seems to be not as fast in some situations, but far more consistent.

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, LAwLz said:

Well that makes a bit more sense (I thought you meant it should be a hard coded rule) but I don't think it would be a good idea regardless. How would you determine if it would be an exception to the default behavior? Does the application developer do that? Then you run the risk of bad performance being the default for a lot of programs. Does Windows determine that? I don't see how they could do it without real-time analysis of how much intercommunication is going on between the CCXs.

The same way you determine if you should keep the (software) thread to the same core and context switch with time slices or use another core. This will be determined from the process priority you assign or get assigned. It should be the scheduler developers who does that, and application developers can do further optimizations if deemed necessary.

 

Often developers will separate child process from the parents thread if they aren't running dependencies and are running critical code. This allows you to differentiate with process priorities to a greater extend.

 

9 minutes ago, LAwLz said:

Yes it has been benched with x264 and I wouldn't say it was amazing, but it was good.

The 1700X is about 11% faster than a 7700K.

For comparison. The 6900K is 23% faster than the 1700X.

 

For HEVC 1700X, 1800X, the 6900K and the 7700K are all pretty much the same. It's like a 4% difference between the fastest and slowest.

 

 

I talked to one of the x264 developers and he said that it isn't as parallel as some people might think (although he was talking about CPU vs GPU encoding, so like 8 cores vs 1000 cores).

I think that's because it gains a lot of parallelism from using macro blocks, but each one of those macro blocks has a lot of dependencies tied to them. I have no idea how much core to core communication is going on in video encoding though. It is probably not all that much, but I am really not qualified to comment on it.

I didn't say it was amazing, I just said it fared quite well even compared to Intels line up. So it doesn't seem like x264 are affected by CCX-to-CCX communication.

 

9 minutes ago, LAwLz said:

That could work. I was just talking about what I thought Microsoft could do with the existing hardware though. If we're talking about hardware changes then wouldn't it be best to just do a single die (not two CCXs) and then use a ring bus like Intel does? That seems to be not as fast in some situations, but far more consistent.

That is hard to evaluate on at this point, we have to see how much scheduler optimization can help to minimize the penalty of cross-CCX communication. It is however one area that AMD keep getting into, trying to start their own trends (see it with bulldozer, GCN, Mantle,  etc etc), trying non-traditional methods in an attempt to get a competitive edge. They are however not really in the position to do so considering their market share and current software architecture, but they keep trying.

 

What I am still interested to see, is how well zen will scale up to say 32 cores. How much of an effect the cluster architecture will have compared to intels ringbus.

Please avoid feeding the argumentative narcissistic academic monkey.

"the last 20 percent – going from demo to production-worthy algorithm – is both hard and is time-consuming. The last 20 percent is what separates the men from the boys" - Mobileye CEO

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, XenosTech said:

you should read down....

If you mean read the rest of your comment, I did, and how you feel about is entirely up to you. Just know that your feelings on the subject are very illogical.

Royal Rumble: https://pcpartpicker.com/user/N3v3r3nding_N3wb/saved/#view=NR9ycf

 

"How fortunate for governments that the people they administer don't think." -- Adolf Hitler
 

"I am always ready to learn although I do not always like being taught." -- Winston Churchill

 

"We must learn to live together as brothers or perish together as fools." -- Martin Luther King Jr.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×