AMD Ryzen Game Performance Fix?

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
I'm trying to see if there is a software way to improve Game Performance with Ryzen.
This is my first litle test. i hope someone with Ryzen can give som feedback on it


https://drive.google.com/open?id=0B6va8E7NdnpWZmFrbjl4eWZGQXc

Basically it adjust your focused application to only on the first CCX (first 4 physsical cores).
hopefully this could avoid some L3 cache issues.
This is a very "dumb" approach are more smart approach would to be doing it based on the process total load. but i gotta start somewhere.

- Please have SMT enabled when testing this
- Please make sure that the game you are benchmarking has focus (is the active program)
 

gigaxtreme1

2[H]4U
Joined
Oct 1, 2002
Messages
3,528
I meant where this fix is applied. It's code, but I'm multi tasking and need to do more research.
 

Rvenger

2[H]4U
Joined
Sep 12, 2012
Messages
2,197
I am bumping this for the mere fact that I will be willing to try this out too.
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
I meant where this fix is applied. It's code, but I'm multi tasking and need to do more research.
Its a general fix. Because the issues is in regards to the CPU/threads distribution rather than the specific game/software..

I;m working on something a bit more smart. hopefully the next test version should be done by tommorow. it would automatically detect whatever the focused application benefits from massive number of threads or to be isolated to one CCX
 

tangoseal

[H]F Junkie
Joined
Dec 18, 2010
Messages
9,080
What gaming issues you having?? Dann chip flies for me in everything. I must have a space age golden chip or something. I am missing out on this bad performance I guess.
 

JustReason

razor1 is my Lover
Joined
Oct 31, 2015
Messages
2,485
What gaming issues you having?? Dann chip flies for me in everything. I must have a space age golden chip or something. I am missing out on this bad performance I guess.
Don't sweat it. I mentioned to some of the rabid Anti_AMD posters in the other thread (that now is just the Anti_AMDers talking, none of the AMD usual has posted) that they should commenton the users that have posted great gaming with these CPUs, hell even Kyle posted as such. But as you can guess, nothing but deflection.

But don't be too hard on this guy. He genuine is interested in the science behind this and legitimately wants to alleviate the possible issues, granted only when benching.
 

tangoseal

[H]F Junkie
Joined
Dec 18, 2010
Messages
9,080
Don't sweat it. I mentioned to some of the rabid Anti_AMD posters in the other thread (that now is just the Anti_AMDers talking, none of the AMD usual has posted) that they should commenton the users that have posted great gaming with these CPUs, hell even Kyle posted as such. But as you can guess, nothing but deflection.

But don't be too hard on this guy. He genuine is interested in the science behind this and legitimately wants to alleviate the possible issues, granted only when benching.

I am not being hard on em'. Ha ha I dont intend to be either.
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
What gaming issues you having?? Dann chip flies for me in everything. I must have a space age golden chip or something. I am missing out on this bad performance I guess.

I don't have any issues as i don't own a Ryzen.
But it shown plenty of times that the CCX buildup of the processor inflicts a performance penalty in middle threaded games.
This is not much different from SMT. and has nothing to do with Intel or AMD. it just a matter of optimizing thread distribution.

Also you are confusing a subjective measuring of being good or not vs empirical data og having more performance or not.
I'm working on the later. You are talking about the former.

I don't care for AMD/Intel fanboys/hate. I've done the same to optimize for Intel CPU's with SMT as well.
So please keep the fanboyism/hate out of the thread.


granted only when benching.

I don't know what you mean only when benching.
I'm working on general performance that can benefits games and other multi threaded software that does not have enough thread to fully utilize a CPU. And try to work around the rather "dumb"/even thread scheduler in windows. But to see if something is working or not, i need empirical data rather than subjective opinions.


Anyway i just came in to see if any feedback had arrived yet and to show that it is slowly being integrated into my Project Mercury
https://s9.postimg.org/ptjui9wlr/Image1.png
 
Last edited:

JustReason

razor1 is my Lover
Joined
Oct 31, 2015
Messages
2,485
I don't have any issues as i don't own a Ryzen.
But it shown plenty of times that the CCX buildup of the processor inflicts a performance penalty in middle threaded games.
This is not much different from SMT. and has nothing to do with Intel or AMD. it just a matter of optimizing thread distribution.

Also you are confusing a subjective measuring of being good or not vs empirical data og having more performance or not.
I'm working on the later. You are talking about the former.

I don't care for AMD/Intel fanboys/hate. I've done the same to optimize for Intel CPU's with SMT as well.
So please keep the fanboyism/hate out of the thread.




I don't know what you mean only when benching.
I'm working on general performance that can benefits games and other multi threaded software that does not have enough thread to fully utilize a CPU. And try to work around the rather "dumb"/even thread scheduler in windows. But to see if something is working or not, i need empirical data rather than subjective opinions.


Anyway i just came in to see if any feedback had arrived yet and to show that it is slowly being integrated into my Project Mercury
https://s9.postimg.org/ptjui9wlr/Image1.png
Sorry what I meant is that it seems to not be a REAL WORLD RESULTS issue, only seems to be when looking at FPS deficit, hence benchmarks.
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
Sorry what I meant is that it seems to not be a REAL WORLD RESULTS issue, only seems to be when looking at FPS deficit, hence benchmarks.

I'm sorry but i still dont know what you are trying to say. if you see a loss of fps in a game. there is a loss of FPS in the game. Which is in there in real world. How does a slower game performance not be classified as real world results?

One example just quickly found is the SMT issues (Which is also something Intel has... better get that out before fanboys comes and accuse me for fanboyisme.)



The Ryzen 1800X perform better with disabling SMT than overclocking it to 3.8Ghz
so in this game "fixing" the SMT issue is like getting a +0.2Ghz OC for free.





Again disabling SMT gives a notable boost in performance


This SMT penalty has something that "we" have been aware of since the first Core I7
it is NOT the same issues as the first SMT chips the Pentium4, but once that is purely native to having SMT on a multicore CPU with a software load that does not have enough heavy CPU threads.

I know people keep talking about the penitum4 and HT issues when they think SMT issues but the P4 did NOT have this kinds of SMT issue. This issue is only for multicore and it is for ALL multicores with SMT


Anyway Ryzen has another similar issue we know from looking at the core design. the CCX buildup. it is almost like Ryzen is not an 8core CPU with SMT but rather 2x 4cores CPU with SMT fused togethoer.
that gives a sever cache penalty when a thread gets bounched from one CCX to another.
how it is similar with SMT is because

1: It is due to how threads are schedule to the cores
2: It doe not occur in software that has enough CPU heavy threads to used all logical cores

the 2nd point is what confuses people a lot because they do mostly either singlethreaded/singlecore testing and then they do multithreaded/multicore test with enough threads to use ALL cores, Thereby missing the areas where SMT and CCX (Sometimes) hurts multithreaded performance.


This is what im asking into benchmark that revolves around 4, 6 and 8 threads. because just like i dont want to use HDtune to test a improvement in a GPU driver. I don't want to use a program that uses alle cores to test an issues that only under a few cores usage scenario.

Now that said games typically still (there are exceptions) don't have that many heavy CPU threads, So often they fall in this middle ground if thread usage with somewhere form 2-6 thread. or smack in where CCX hurts the Ryzen chips.

However this is all in theory and that is why im looking for Ryzen owner to confirm this in practice before i role out the full "fix"
 
Last edited:

Gideon

2[H]4U
Joined
Apr 13, 2006
Messages
2,760
Well just keep in mind Ashes is supposed to be getting fixed by the developer as they say there is a problem with their engine and Ryzen. But yes Ryzen gaming performance is a bit erratic and hopefully it gets better as time goes on.
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
Well just keep in mind Ashes is supposed to be getting fixed by the developer as they say there is a problem with their engine and Ryzen. But yes Ryzen gaming performance is a bit erratic and hopefully it gets better as time goes on.

Agreed but it might be because the do the same fix that im trying to test. A smarter distribution of threads taking into account the CPU architecture.
or that they are just optimizng/recompiling the software for optimal usage of the Ryzen architecture. Then SMT might still be an issues. We dont know really what they are talking about because everybody is talking in so wide terms instead of going into details

A lot of improvements will come to future games as well due to newer compilers improving to optimize code for Ryzen architecture as well. But the SMT issues has haunted Intel for over a decades. So im assuming it will probably by the same with AMD.
MS could fix the SMT issues with a more SMT aware thread scheduler (Which is what im trying to do) be it Intel or AMD.

Ofcause if you are GPU bottlenecked. This will do less or nothing for you. It something that only show in very specific situation.. not in benchmarks that are not run to specifically show it, but it does popup in games.
AS games moves more to vulkan that can has a high number of threads scaleabilty the issues will disappear again.


Anyway just found this one as well
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
Bumping this for some hopefully more attention

Anyone that can help me with benchmark on Ryzen CPU to see the effect of constrain low/medium threaded software to the same CCX and/or SMT soft removal will receive donator access to my Project Mercury software

games im espceilly looking for are
Deus Ex
Total Warhammer
Watchdogs 2
Hitman (2016)
Ashes of the Singularity

Benchmakr
7-zip
Cinebench

This is what is going on with Project Mercury atm.

 

JustReason

razor1 is my Lover
Joined
Oct 31, 2015
Messages
2,485
I wish I could get Ryzen now, I would love to test your program out. I love tweaking my PCs, why AMD has been so much fun for me. You could PM Noko or Manofgod. Noko for sure likes testing and benching. Manofgod doesn't really game so much so he might not have a great deal of the programs/games you listed.
 

ManofGod

[H]F Junkie
Joined
Oct 4, 2007
Messages
12,068
Bumping this for some hopefully more attention

Anyone that can help me with benchmark on Ryzen CPU to see the effect of constrain low/medium threaded software to the same CCX and/or SMT soft removal will receive donator access to my Project Mercury software

games im espceilly looking for are
Deus Ex
Total Warhammer
Watchdogs 2
Hitman (2016)
Ashes of the Singularity

Benchmakr
7-zip
Cinebench

This is what is going on with Project Mercury atm.


I have AOTS only, can you suggest any other games? I tried ROTTR but, the benchmark in the game is not really reliable, results are all over the place. (Good thing is, I can play the game at 4k without issue though.)

Edit: This was with me using the gamefix exe program.
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
I have AOTS only, can you suggest any other games? I tried ROTTR but, the benchmark in the game is not really reliable, results are all over the place. (Good thing is, I can play the game at 4k without issue though.)

Edit: This was with me using the gamefix exe program.

Sadly i dont have a good liste of games. only the above i showed benchmarks off that i compilede from looking at reviews.
But pretty much any modern game is (2015-2017) is valuable. heck even some old ones as the issue is general on the CPU.
The only thing is if its withing the last copul of years it best to see hte difference in 1080p or below as higher resolutions might be GPU bottlenecked instead


The gamefix is the same as what is in Project Mercury. it just the gamefix is isolated from other featuers making it easier to pinpoint the exact effect of the CCX no switching.
DO you have anoy results from


I have a 1700x with Deus Ex and AOTS. I can test out.
Thank you so much. . I'll recompile Project Mercury today and send links to both of you account by PM.

Until then GameFix works effect and might be easier to test just he CCX lock method.

Thank you both so much.
 

CSI_PC

2[H]4U
Joined
Apr 3, 2016
Messages
2,200
Bumping this for some hopefully more attention

Anyone that can help me with benchmark on Ryzen CPU to see the effect of constrain low/medium threaded software to the same CCX and/or SMT soft removal will receive donator access to my Project Mercury software

games im espceilly looking for are
Deus Ex
Total Warhammer
Watchdogs 2
Hitman (2016)
Ashes of the Singularity

Benchmakr
7-zip
Cinebench

This is what is going on with Project Mercury atm.


Just to let you know SMT related issues are more games specific and some actually still improve with SMT on Ryzen (yeah not many I agree), Cinebench and multi-threaded designed Office/rendering/benchmark apps seem to be working fine with SMT and also the CCX (due to thread-data behaviour and structure with app as I appreciate you know).

Cheers
 

noko

Supreme [H]ardness
Joined
Apr 14, 2010
Messages
5,687
I'm trying to see if there is a software way to improve Game Performance with Ryzen.
This is my first litle test. i hope someone with Ryzen can give som feedback on it


https://drive.google.com/open?id=0B6va8E7NdnpWZmFrbjl4eWZGQXc

Basically it adjust your focused application to only on the first CCX (first 4 physsical cores).
hopefully this could avoid some L3 cache issues.
This is a very "dumb" approach are more smart approach would to be doing it based on the process total load. but i gotta start somewhere.

- Please have SMT enabled when testing this
- Please make sure that the game you are benchmarking has focus (is the active program)
What cores are Logical and what are Virtual?

For Rise Of The Tomb raider I set affinity to 0-7 thinking it was one CCX - the benchmark was significantly slower, about 10fps slower. So not sure if that was one CCX or not.
 

CSI_PC

2[H]4U
Joined
Apr 3, 2016
Messages
2,200
This shows why there will not be an easy fix regarding SMT as most benchmarks and office/rendering applications implement thread and data use in a way that works well with SMT, the problem comes down to games and for some reason some doing worst on SMT with AMD than Intel while some games perform with up to 10% more fps with SMT even on Ryzen.
Not sure how many people are going to switch off/on SMT per game, and ideally should be done in BIOS to ensure no headaches with compatibility/utility bugs/etc.

Results showing SMT with well designed multi-thread applications, which is much tougher to do with games due to the nature of the game engine and various effects/simulations along with thread and data dependency:



These results match or very similar trend with what I have seen from other sources.
Cheers
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
This shows why there will not be an easy fix regarding SMT as most benchmarks and office/rendering applications implement thread and data use in a way that works well with SMT, the problem comes down to games and for some reason some doing worst on SMT with AMD than Intel while some games perform with up to 10% more fps with SMT even on Ryzen.
Not sure how many people are going to switch off/on SMT per game, and ideally should be done in BIOS to ensure no headaches with compatibility/utility bugs/etc.

Results showing SMT with well designed multi-thread applications, which is much tougher to do with games due to the nature of the game engine and various effects/simulations along with thread and data dependency:

These results match or very similar trend with what I have seen from other sources.
Cheers



I would have to disagree as the "Fix for SMT is very easy a matter of controlling threads. I've done that for years know with great success.
but you are also falling into the typical benchmarks fallacy that you are testing the SMT penalty in a fully threaded situation.

In other words you are not benchmarking what we are talking about in regards to SMT. because.. sorry to say it. you don't get it because you didn't read into it

TO quote my self from above:
2: It doe not occur in software that has enough CPU heavy threads to used all logical cores

the 2nd point is what confuses people a lot because they do mostly either singlethreaded/singlecore testing and then they do multithreaded/multicore test with enough threads to use ALL cores, Thereby missing the areas where SMT and CCX (Sometimes) hurts multithreaded performance.

Please read and understand the issue if you are going to argue against it. Otherwise you are just bringing in noise with irrelevant benchmarks, as you are doing the EXACT benchmark mistake I informed about.



Her are a benchmkar of cinebench in the situation we are talking about
Cinebench on a I7 2600k (4 core/8logical core CPU)

8thread HTon parking (Default)
797
797
796

8thread HTon no parking
799
798
799



4thread HTon parking (Default
473
477
474

4thread HTon No parking
541
542
536

4thread HTon No parking No HT conflicts
619
617
616



Again please note how under the fully threaded situations there is no benefits at all. but as ive told that is not the situation we are looking into. we are looking into situatuion with multiple threads but not enough to satisfy more than the numbers of physical cores.
which in this case wuld be the 4 threads benchmarks

We got from avg of 474 to 540 form just disabling core parking
and then we got from 540 to a freaking 617 from software removing SMT effect.
14% increase from disabling HT software wise in line with what we see in games
because games ALSO is multithreaded but not enough threads to utilize ALL cores.


Just to clarify. the SMT issue is only in situations that are multithreaded but does not have enough threads to utilize all logical cores. The penalty would peak when threads are = physical cores
 
Last edited:

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
What cores are Logical and what are Virtual?

For Rise Of The Tomb raider I set affinity to 0-7 thinking it was one CCX - the benchmark was significantly slower, about 10fps slower. So not sure if that was one CCX or not.

Thank you for the feedback.
I am actually not 100% sure on this. As I ve found no technical documentation that shows this and i have no way to test it myself :(

How i would test it is use 7-zip benchmarks since it constantly giving results. Then mess around with affinity to see where the drop in performance happens.
however in this case we have both SMT and CCX to deal with.
I would try to disable SMT in bios first and then do the 7-zip benchmarks with 4 thread. that at least should give you an idea how its disitrbuted.

Another reason is that affinity 0-7 might be the same CCX but the SMT effect is worse than the CCX effect. so by having both ccx avaible we have less SMT conflicts
 

CSI_PC

2[H]4U
Joined
Apr 3, 2016
Messages
2,200
I would have to disagree as the "Fix for SMT is very easy a matter of controlling threads. I've done that for years know with great success.
but you are also falling into the typical benchmarks fallacy that you are testing the SMT penalty in a fully threaded situation.

In other words you are not benchmarking what we are talking about in regards to SMT. because.. sorry to say it. you don't get it because you didn't read into it

TO quote my self from above:
2: It doe not occur in software that has enough CPU heavy threads to used all logical cores

the 2nd point is what confuses people a lot because they do mostly either singlethreaded/singlecore testing and then they do multithreaded/multicore test with enough threads to use ALL cores, Thereby missing the areas where SMT and CCX (Sometimes) hurts multithreaded performance.

Please read and understand the issue if you are going to argue against it. Otherwise you are just bringing in noise with irrelevant benchmarks, as you are doing the EXACT benchmark mistake I informed about.



Her are a benchmkar of cinebench in the situation we are talking about
Cinebench on a I7 2600k (4 core/8logical core CPU)

8thread HTon parking (Default)
797
797
796

8thread HTon no parking
799
798
799



4thread HTon parking (Default
473
477
474

4thread HTon No parking
541
542
536

4thread HTon No parking No HT conflicts
619
617
616



Again please note how under the fully threaded situations there is no benefits at all. but as ive told that is not the situation we are looking into. we are looking into situatuion with multiple threads but not enough to satisfy more than the numbers of physical cores.
which in this case wuld be the 4 threads benchmarks

We got from avg of 474 to 540 form just disabling core parking
and then we got from 540 to a freaking 617 from software removing SMT effect.
14% increase from disabling HT software wise in line with what we see in games
because games ALSO is multithreaded but not enough threads to utilize ALL cores.


Just to clarify. the SMT issue is only in situations that are multithreaded but does not have enough threads to utilize all logical cores. The penalty would peak when threads are = physical cores
SMT should not be used until you are fully threaded!
It adds additional TDP/thermal overhead per core and not as efficient as primarily using more 'physical' (yeah I know they are logicial/threads in reality) cores.
And that link I provided is not benchmarks but actual applications designed to be multi-threaded.
If you cannot accept that the issue is more nuanced because well designed multi-threaded bencmarks AND office/rendering applications actually use SMT correctly on Ryzen not sure what will convince you.

If it was so easy we still not seen a patch for AoTS nor a few other games AMD is working directly with.

Anyway my post is still relevent along with those results showing SMT working fine for Ryzen when used correctly, compare actual applications to actual games; games are the ones with issues with inter-CCX (not the well designed multithreaded applications) and also games are the ones usually with issues around SMT (not the well designed multithreaded applications).
And again then there are the few games (not many I agree but point is there are some that exist) that gain around 10% with SMT on Ryzen CPUs, meaning it is down to design and this for game rendering/game engines is not easy/quick to put right.

Parking is a bit of a red herring, it is how AMD has designed their implementation and tbh anyone gaming should be using high performance mode or disabling core parking - even AMD is recommending this to reviewers.

Anyway a game engine and the associated effects-simulations-particles-collision detection-game environment-draw calls-etc are very different to a normal application in how to design and use thread and data dependencies.
It is bad enough trying to get devs just to scale their games beyond 4-cores, let alone doing this as a well designed scale to as many cores seen along with SMT; it is possible in games but not many can translate that well to such a scope.
And easier with future games and engines rather than fixing older ones.
 
Last edited:

JustReason

razor1 is my Lover
Joined
Oct 31, 2015
Messages
2,485
This shows why there will not be an easy fix regarding SMT as most benchmarks and office/rendering applications implement thread and data use in a way that works well with SMT, the problem comes down to games and for some reason some doing worst on SMT with AMD than Intel while some games perform with up to 10% more fps with SMT even on Ryzen.
Not sure how many people are going to switch off/on SMT per game, and ideally should be done in BIOS to ensure no headaches with compatibility/utility bugs/etc.

Results showing SMT with well designed multi-thread applications, which is much tougher to do with games due to the nature of the game engine and various effects/simulations along with thread and data dependency:



These results match or very similar trend with what I have seen from other sources.
Cheers
Now if that isn't a clear picture of AMDs SMT > Intels HT, I mean >>>> much > than. then ... Where is juanrga and shintai, I smell a crow pie resting on a window sill.
 

CSI_PC

2[H]4U
Joined
Apr 3, 2016
Messages
2,200
Now if that isn't a clear picture of AMDs SMT > Intels HT, I mean >>>> much > than. then ... Where is juanrga and shintai, I smell a crow pie resting on a window sill.

I think they will just mention 1800X is at its limit while the 6900K could be OC'd comfortably to 4GHz all cores (still under 1.25V at that point).
But then that requires manual intervention and same could be said about GPUs.
Yeah not much wrong with Ryzen SMT in these scenarios and performs well.
Cheers
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
SMT should not be used until you are fully threaded!
It adds additional TDP/thermal overhead per core and not as efficient as primarily using more 'physical' (yeah I know they are logicial/threads in reality) cores.
And that link I provided is not benchmarks but actual applications designed to be multi-threaded.
If you cannot accept that the issue is more nuanced because well designed multi-threaded bencmarks AND office/rendering applications actually use SMT correctly on Ryzen not my fault.
I give in with all this conspiracy around SMT and easy to fix for AMD.
So easy we still not seen a patch for AoTS nor a few other games AMD is working directly with.

Anyway my post is still relevent along with those results showing SMT working fine for Ryzen when used correctly, compare actual applications to actual games; games are the ones with issues with inter-CCX (not the well designed multithreaded applications) and also games are the ones usually with issues around SMT (not the well designed multithreaded applications).
I guess you want to ignore the few games (not many I agree but point is there are some that exist) that gain around 10% with SMT on Ryzen CPUs, because logically this is not possible with your context.

Parking is a bit of a red herring, it is how AMD has designed their implementation and tbh anyone gaming should be using high performance mode or disabling core parking - even AMD is recommending this to reviewers.

Anyway a game engine and the associated effects-simulations-particles-collision detection-game environment-draw calls-etc are very different to a normal application in how to design and use thread and data dependencies.
It is bad enough trying to get devs just to scale their games beyond 4-cores, let alone doing this as a well designed scale to as many cores seen along with SMT; it is possible in games but not many can translate that well to such a scope.

... dont evne know where to begin

SMT should not be used until you are fully threaded!
So now you agree with me that SMT should only be used with enough threads? at least we got that going then. so you do also raelise why your benchmarks was no about the situation we are talking about?

It adds additional TDP/thermal overhead per core and not as efficient as primarily using more 'physical' (yeah I know they are logicial/threads in reality) cores.
Thermal overhead is really not a big matter if its not in use by a thread. aka none utilized extra logical cores does not give that much extra TDP. Loaded ones does but you also get more performance out of it so really not an issue (except for the next point).
Tou are right on the efficiency. Which is the very issues of this SMT issue on Ryzen and Intel CPU's.

And that link I provided is not benchmarks but actual applications designed to be multi-threaded.
i think you are confused by the term benchmarks
https://en.wikipedia.org/wiki/Benchmark_(computing)\
Benchmark means measuring perfomance. so yes those are benchmarks. but you didn't use a dedicated benchmarks program... OK.
Still irrelevant for this case as they are, as you say, fully threaded which is not what we are talking about here.

If you cannot accept that the issue is more nuanced because well designed multi-threaded bencmarks AND office/rendering applications actually use SMT correctly on Ryzen not my fault.
Yet i am the one talking about nuances and specific situations. You are the one with the black/white view here.... that doesn't seem to understand that SMT can bee good with plenty of threads but bad with a low count of threads


Anyway my post is still relevent along with those results showing SMT working fine for Ryzen when used correctly, compare actual applications to actual games; games are the ones with issues with inter-CCX (not the well designed multithreaded applications) and also games are the ones usually with issues around SMT (not the well designed multithreaded applications).
it is still irrelevant because its not the situations we are talking about. you are acting like you have to defende Ryzen even though it been clearly states this is a natural issue on SMT on both Ryzen and Intel CPU's

I guess you want to ignore the few games (not many I agree but point is there are some that exist) that gain around 10% with SMT on Ryzen CPUs, because logically this is not possible with your context.

Im not ingoring them. they are just not part of what we are dealing with here. Again this is no a pointing fingers at AMD Ryzen. There is no need to defend Ryzen
Please leave the fanboysime out of it.
This is about improving performance in a giving situations. try to understand that.



I think they will just mention 1800X is at its limit while the 6900K could be OC'd comfortably to 4GHz all cores (still under 1.25V at that point).
But then that requires manual intervention and same could be said about GPUs.
Yeah not much wrong with Ryzen SMT in these scenarios and performs well.
Cheers

Please leave AMD vs Intel debate out of this thread. This is not the place for that.
And No-one has said there was anything wrong specifically with Ryzen's SMT.
Stop making this into a AMD vs Intel debate.
 
Last edited:

CSI_PC

2[H]4U
Joined
Apr 3, 2016
Messages
2,200
... dont evne know where to begin

SMT should not be used until you are fully threaded!
So now you agree with me that SMT should only be used with enough threads? at least we got that going then. so you do also raelise why your benchmarks was no about the situation we are talking about?

It adds additional TDP/thermal overhead per core and not as efficient as primarily using more 'physical' (yeah I know they are logicial/threads in reality) cores.
Thermal overhead is really not a big matter if its not in use by a thread. aka none utilized extra logical cores does not give that much extra TDP. Loaded ones does but you also get more performance out of it so really not an issue (except for the next point).
Tou are right on the efficiency. Which is the very issues of this SMT issue on Ryzen and Intel CPU's.

And that link I provided is not benchmarks but actual applications designed to be multi-threaded.
i think you are confused by the term benchmarks
https://en.wikipedia.org/wiki/Benchmark_(computing)\
Benchmark means measuring perfomance. so yes those are benchmarks. but you didn't use a dedicated benchmarks program... OK.
Still irrelevant for this case as they are, as you say, fully threaded which is not what we are talking about here.

If you cannot accept that the issue is more nuanced because well designed multi-threaded bencmarks AND office/rendering applications actually use SMT correctly on Ryzen not my fault.
Yet i am the one talking about nuances and specific situations. You are the one with the black/white view here.... that doesn't seem to understand that SMT can bee good with plenty of threads but bad with a low count of threads


Anyway my post is still relevent along with those results showing SMT working fine for Ryzen when used correctly, compare actual applications to actual games; games are the ones with issues with inter-CCX (not the well designed multithreaded applications) and also games are the ones usually with issues around SMT (not the well designed multithreaded applications).
it is still irrelevant because its not the situations we are talking about. you are acting like you have to defende Ryzen even though it been clearly states this is a natural issue on SMT on both Ryzen and Intel CPU's

I guess you want to ignore the few games (not many I agree but point is there are some that exist) that gain around 10% with SMT on Ryzen CPUs, because logically this is not possible with your context.

Im not ingoring them. they are just not part of what we are dealing with here. Again this is no a pointing fingers at AMD Ryzen. There is no need to defend Ryzen
Please leave the fanboysime out of it.
This is about improving performance in a giving situations. try to understand that.





Please leave AMD vs Intel debate out of this thread. This is not the place for that.
Totally disagree and complete bollocks to now say real world office and enterprise applications are 'just benchmarks', they were used to quantify the behaviour of SMT that is working fine in those applications.
You have taken me out of context (no surprise), Cinebench R15 is a benchmark tool while WinRAR/etc is an application that is used in a benchmark test/result.
Ergo all those applications are working well with SMT, pointing to what I have been saying.

And my last post was in response to someone else not you where actually it does matter from a context perspective about the 6900K so please do not tell me what I must do while ignoring others.
If you have the arse because you do not like the results and someone clearly saying "oh look SMT and Ryzen working fine with all those applications" do not try to lecture me please.
Totally disagree with you, and you take context totally wrong.
But hey knock yourself out with your program and fix SMT that ironically does not need fixing for any real office/enterprise application, gaming applications will be more tricky to due the many factors involved beyond just draw calls (easier to do with future games than those already released, existing game engines may be a bit harder to rectify).

You seem overly defensive of Ryzen, where I just care about the fact SMT is working fine in quite a few scenarios but not with games for the bloody reasons I explained.
Game engines are totally different to other types of applications whether office or enterprise, but I give in trying to discuss with someone being so defensive.
 
Last edited:

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
Totally disagree and complete bollocks to now say real world office and enterprise applications are 'just benchmarks' because they were used to quantify the behaviour of SMT that is working fine in those applications.

And my last post was in response to someone else not you.
If you have the arse because you do not like the results do not try to lecture me please.
Totally disagree with you, and you take context totally wrong.
But hey knock yourself out with your program and fix SMT, that ironically does not need fixing for any real office/enterprise application.

You seem overly defensive of Ryzen, where I just care about the fact SMT is working fine in quite a few scenarios and not with games for the bloody reasons I explained.
Game engines are totally different to other types of applications whether office or enterprise, but I give in trying to discuss with someone being so defensive.


Totally disagree and complete bollocks to now say real world office and enterprise applications are 'just benchmarks' because they were used to quantify the behaviour of SMT that is working fine in those applications.
I can't do anything about the propper use of a word. if think its bollocks to use the word correctly, That just what it has to be then.
You are the only one putting a negative emotional association to the word benchmark. So that is all on you.


But hey knock yourself out with your program and fix SMT, that ironically does not need fixing for any real office/enterprise application.
So if it works in your programs we should not try to improve it in program where it gives a performance penalty?
Do you really support that logic?


I just care about the fact SMT is working fine in quite a few scenarios and not with games for the bloody reasons I explained.
So you DO admit there are situations SMT does not work and could be fixed ? Witch is it?
Why is it so hard for you to understand that it does not have to be one or the other. you react like you think its either SMT or NOT. When what are we are doing here is trying to create a solutions that where you can in effect have the benefits of SMT and not the penalties of it .
I really don't see how you can make that into a bad thing.
Again clearly you didn't read the provide benchmarks ( uh-oh that word again) of cinebench getting a 14% boost (in an artificial situations) when it was not fully threaded.


Game engines are totally different to other types of applications whether office or enterprise,

Agreed but the thread scheduling are still the same which is what we are dealing with.

but I give in trying to discuss with someone being so defensive.
Thank you. Then maybe we could get back to some "science" and objective testing.
 

CSI_PC

2[H]4U
Joined
Apr 3, 2016
Messages
2,200
Totally disagree and complete bollocks to now say real world office and enterprise applications are 'just benchmarks' because they were used to quantify the behaviour of SMT that is working fine in those applications.
I can't do anything about the propper use of a word. if think its bollocks to use the word correctly, That just what it has to be then.
You are the only one putting a negative emotional association to the word benchmark. So that is all on you.


But hey knock yourself out with your program and fix SMT, that ironically does not need fixing for any real office/enterprise application.
So if it works in your programs we should not try to improve it in program where it gives a performance penalty?
Do you really support that logic?


I just care about the fact SMT is working fine in quite a few scenarios and not with games for the bloody reasons I explained.
So you DO admit there are situations SMT does not work and could be fixed ? Witch is it?
Why is it so hard for you to understand that it does not have to be one or the other. you react like you think its either SMT or NOT. When what are we are doing here is trying to create a solutions that where you can in effect have the benefits of SMT and not the penalties of it .
I really don't see how you can make that into a bad thing.
Again clearly you didn't read the provide benchmarks ( uh-oh that word again) of cinebench getting a 14% boost (in an artificial situations) when it was not fully threaded.


Game engines are totally different to other types of applications whether office or enterprise, but I give in trying to discuss with someone being so defensive.

Agreed but the thread scheduling are still the same which is what we are dealing with.

No your context and perspective are skewed.
Enough said.
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
No your context and perspective are skewed.
Enough said.

I though you had given in ?
But please enlighten me in how is my context skewed when im trying to resolve an issues that hits low/medium threaded software in SMT and CCX?
 

CSI_PC

2[H]4U
Joined
Apr 3, 2016
Messages
2,200
I though you had given in ?
But please enlighten me in how is my context skewed when im trying to resolve an issues that hits low/medium threaded software?
What are the requirements to design a multi-threaded game from perspective of game engine/rendering engine in terms of primary and working threads and dependencies including data and per frame?
This has to include draw calls/environment and potentially with partial-full destructibles/collision detection/physics and other simulation algorithms/particles/etc.
I have followed enough game engine design presentations and discussions at B3d with devs to know this is far from trivial, hence why AMD has stated they are working directly with developers to get all this working smoothly.

And then with all of that in perspective how is your solution dynamic enough to not impact games (or other office/enterprise applications) that can scale with multi-thread and work well with SMT or critically work well with inter-CCX.
Thanks
 
Last edited:

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
What cores are Logical and what are Virtual?

For Rise Of The Tomb raider I set affinity to 0-7 thinking it was one CCX - the benchmark was significantly slower, about 10fps slower. So not sure if that was one CCX or not.

I have a request if you can do me a solid ( not in the cyanid and happyness way)
- Can you downlaod process explorer ( its free)
https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx
- Then doubleclick ROTTR process in the list and go into threads.
- give me some screenshots of the thread usage

it will tell me about how many CPU heavy threads it has
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
What are the requirements to design a multi-threaded game from perspective of game engine/rendering engine in terms of primary and working threads and dependencies including data and per frame?
This has to include draw calls/environment and potentially with partial/full destructibles/collision detection/physics and other simulation algorithms/particles/etc.
I have followed enough game engine design presentations and discussions at B3d with devs to know this is far from trivial, hence why AMD has stated they are working directly with developers to get all this working smoothly.

And then with all of that in perspective how is your solution dynamic enough to not impact games (or other office/enterprise applications) that can scale with multi-thread and work well with SMT and critically CCX.
Thanks

OK so can we agreee it hard for games to utilize the massive amount of logical cores in a 8p/16l CPU due to the fact it is hard to spread out game codes to a massive amount of threads?
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
man my drawing skills are bad but im hoping this illustration im about to make can show you the SMT "fix"
 

CVNet1

[H]ard|Gawd
Joined
Oct 10, 2002
Messages
1,076
Why has a thread that was intended to experiment with various settings and options available on the Ryzen platform to potentially improve system performance on un-optimized games now turned into an off topic debate about the Ryzen vs. Intel SMT implementation on benchmarks?

Regardless of opinions on whether the idea has merit or not, let's allow SvenBent and the members who are running testing for him to conduct their experiments and testing in peace and if it happens to help in some use cases and/or games, then SvenBent shuold be able to code those performance enhancing setting changes into a useful user application. In other words, if it works, we all will win better performance on those specific un-optimized applications, and if it doesn't work, then there really is no downside for anyone except perhaps a little lost time.
 

SvenBent

2[H]4U
Joined
Sep 13, 2008
Messages
3,203
Let me shortly illustrate what my SMT fix aka "NO SMT conflicts does"
Please note I am using a template for a Ryzen CPU but just focus on the top half and ignore the CCX as this is universal and not a Ryzen specific issues


This a Worstcase scenario for running a 4threaded software/games on a CPU with 4core and SMT

What we see is that the 4 threads are sharing only 2 Physical Cores and thereby a limited amount of Core subresources
This happens every so often over time because Microsofts Thread scheduler is based on a Round-robin method (some heavy modifications/exceptions though)
This is when the software gets hit by a penalty form running under SMT. Remember this is worst case and not representative of typical or average thread distribution.




This is what my "NO SMT conflicts" do

My program denies access to the logical cores that would lead to the same physical core.
Now the software is constantly running with a the full usage of 4 physical cores. just like if there was no SMT present. however no reboot are needed its all done live on the system
This is where the ~15% performance boost form disabling SMT in games comes from


Now off cause this does not work on software that would have 8 threads running cause no matter what they would use up all the logical cores. and yes they would have to share the same physical cores. but that still better than getting no cores at all to a thread
The only reason we have SMT is because there is left over sub core resources from just running one threads. so once we get another thread onto the core it can use the leftovers.

leftovers > non resources
leftovers < full resources

I hope this can clarify the SMT issues once and for all. Whatever it be Intel or AMD.
 

noko

Supreme [H]ardness
Joined
Apr 14, 2010
Messages
5,687
Let me shortly illustrate what my SMT fix aka "NO SMT conflicts does"
Please note I am using a template for a Ryzen CPU but just focus on the top half and ignore the CCX as this is universal and not a Ryzen specific issues


This a Worstcase scenario for running a 4threaded software/games on a CPU with 4core and SMT

What we see is that the 4 threads are sharing only 2 Physical Cores and thereby a limited amount of Core subresources
This happens every so often over time because Microsofts Thread scheduler is based on a Round-robin method (some heavy modifications/exceptions though)
This is when the software gets hit by a penalty form running under SMT. Remember this is worst case and not representative of typical or average thread distribution.




This is what my "NO SMT conflicts" do

My program denies access to the logical cores that would lead to the same physical core.
Now the software is constantly running with a the full usage of 4 physical cores. just like if there was no SMT present. however no reboot are needed its all done live on the system
This is where the ~15% performance boost form disabling SMT in games comes from


Now off cause this does not work on software that would have 8 threads running cause no matter what they would use up all the logical cores. and yes they would have to share the same physical cores. but that still better than getting no cores at all to a thread
The only reason we have SMT is because there is left over sub core resources from just running one threads. so once we get another thread onto the core it can use the leftovers.

leftovers > non resources
leftovers < full resources

I hope this can clarify the SMT issues once and for all. Whatever it be Intel or AMD.
How do you lock down the driver for the video card to work with the same cores? Or is that automatic for a gpu driver?
 

noko

Supreme [H]ardness
Joined
Apr 14, 2010
Messages
5,687
I have a request if you can do me a solid ( not in the cyanid and happyness way)
- Can you downlaod process explorer ( its free)
https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx
- Then doubleclick ROTTR process in the list and go into threads.
- give me some screenshots of the thread usage

it will tell me about how many CPU heavy threads it has
As soon as I get a chance I will do this. I am working for the next 10 days straight, 12+ hours, so my time will be limited.
 
Top