I am not sure why you quote this. If the idea is to clarify the HT issue:
With HT on, each core splits into two fully equivalent hyper threads. There is no distinction between logical core 0 and logical core 1 in that case. The idea that some of the logical cores are 'physical cores' and others are 'hyper threads', and have different performance, is absolute nonsense. As anyone can easily test for himself by running two engines that accurately and stably report nps, and set affinity with the task manager for them to core 0 and core 1, respectively. I thought that was explained clearly in the TCEC threads.
I did not post links to any material about Hyper Threading.
As a corollary, I also did not post any link to material I did not read.
All these are fabrications by mr know-it-all painter.
What should Robert do? (read post first before you vote)
Moderator: Ras
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
-
- Posts: 263
- Joined: Sun Oct 28, 2012 11:45 am
Re: What should Robert do? (read post first before you vote)
OMG.hgm wrote:As anyone can easily test for himself by running two engines that accurately and stably report nps, and set affinity with the task manager for them to core 0 and core 1, respectively.
You REALLY have no idea of what the hell you are talking about.
Your "test" is a complete idiocy because if the physical thread is not in use it's obvious that the logical core will behave almost (not exactly the same in fact, but almost) in the same way by copying the information. But still there IS a difference for the OS between a physical and logical process because the logical is just a COPY of certain sections of the physical, so this means that if the physical core is in use, the logical core will NOT produce a similar (neither remotely) work of another physical core.
So, coming to the example in that thread, in the affinity mask you gave to Martin, you gave 3 physical cores to some engines, and the logical cores of those same 3 physicals to the others, hence completely skewing performance in favor of the engines using the physical cores, and you didn't understand it and when I made you notice it you insisted that for the OS there was no difference between a logical and physical processor (OMG).
Let me quote you again wikipedia on this:
Hyper-threading works by duplicating certain sections of the processor—those that store the architectural state—but not duplicating the main execution resources. This allows a hyper-threading processor to appear as the usual "physical" processor and an extra "logical" processor to the host operating system (legacy operating systems see two "physical" processors), allowing the operating system to schedule two threads or processes simultaneously and appropriately.
Now, continue insisting that you are right also here and that you haven't done (as always) and absolute figure of shit while pretending to be an expert on a thing you were obviously mistaken about, and instead of just stopping you still continue worsening your position. When you mistake something it is just an imbecility to continue trying to prove you are right instead even in front of evidence just because your ego cannot accept that you were wrong.
-
- Posts: 3226
- Joined: Wed May 06, 2009 10:31 pm
- Location: Fuquay-Varina, North Carolina
Re: What should Robert do? (read post first before you vote)
I was responding to this statement by Fabio:hgm wrote:I am not sure why you quote this. If the idea is to clarify the HT issue:
With HT on, each core splits into two fully equivalent hyper threads. There is no distinction between logical core 0 and logical core 1 in that case. The idea that some of the logical cores are 'physical cores' and others are 'hyper threads', and have different performance, is absolute nonsense. As anyone can easily test for himself by running two engines that accurately and stably report nps, and set affinity with the task manager for them to core 0 and core 1, respectively. I thought that was explained clearly in the TCEC threads.
I did not post links to any material about Hyper Threading.
As a corollary, I also did not post any link to material I did not read.
All these are fabrications by mr know-it-all painter.
All this was written and quotable from the old thread of Martin about nTCEC, that however sadly it has been deleted (as you probably know hence you trying to play the game) but I know perfectly that this is what happened and you know it too.
I remember that discussion between the two of you, and I knew that nothing had been deleted.
As far as how hyperthreading works, I am definitely no expert and was not going to offer any opinion. However, I have been reading and this is what I have noticed:
Fabio was referring to the Wikipedia article on hyperthreading, which states the following:
Hyper-threading works by duplicating certain sections of the processor—those that store the architectural state—but not duplicating the main execution resources. This allows a hyper-threading processor to appear as the usual "physical" processor and an extra "logical" processor to the host operating system (legacy operating systems see two "physical" processors), allowing the operating system to schedule two threads or processes simultaneously and appropriately.
However, the article also contains the following statement:
For each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible. The main function of hyper-threading is to decrease the number of dependent instructions on the pipeline. It takes advantage of superscalar architecture (multiple instructions operating on separate data in parallel). They appear to the OS as two processors, thus the OS can schedule two processes at once. In addition two or more processes can use the same resources. If one process fails then the resources can be readily re-allocated.
The ars technica article consistently refers to two logical processors. Other sites do the same. Everything that I have read would seem to correspond to your description.
-
- Posts: 3226
- Joined: Wed May 06, 2009 10:31 pm
- Location: Fuquay-Varina, North Carolina
Re: What should Robert do? (read post first before you vote)
Lavir wrote:OMG.hgm wrote:As anyone can easily test for himself by running two engines that accurately and stably report nps, and set affinity with the task manager for them to core 0 and core 1, respectively.
You REALLY have no idea of what the hell you are talking about.
Your "test" is a complete idiocy because if the physical thread is not in use it's obvious that the logical core will behave almost (not exactly the same in fact, but almost) in the same way by copying the information. But still there IS a difference for the OS between a physical and logical process because the logical is just a COPY of certain sections of the physical, so this means that if the physical core is in use, the logical core will NOT produce a similar (neither remotely) work of another physical core.
So, coming to the example in that thread, in the affinity mask you gave to Martin, you gave 3 physical cores to some engines, and the logical cores of those same 3 physicals to the others, hence completely skewing performance in favor of the engines using the physical cores, and you didn't understand it and when I made you notice it you insisted that for the OS there was no difference between a logical and physical processor (OMG).
Let me quote you again wikipedia on this:
Hyper-threading works by duplicating certain sections of the processor—those that store the architectural state—but not duplicating the main execution resources. This allows a hyper-threading processor to appear as the usual "physical" processor and an extra "logical" processor to the host operating system (legacy operating systems see two "physical" processors), allowing the operating system to schedule two threads or processes simultaneously and appropriately.
Now, continue insisting that you are right also here and that you haven't done (as always) and absolute figure of shit while pretending to be an expert on a thing you were obviously mistaken about, and instead of just stopping you still continue worsening your position. When you mistake something it is just an imbecility to continue trying to prove you are right instead even in front of evidence just because your ego cannot accept that you were wrong.
Other than the Wikipedia article, I have not been able to find any other source that talks about a physical core and an "extra" logical core. They do not make a differentiation between the two logical cores. Could you provide an additional source? After reading the Talk page for the Wiki article, I am not certain about the accuracy of the article.
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: What should Robert do? (read post first before you vote)
OMG Indeed.Lavir wrote:OMG.
You REALLY have no idea of what the hell you are talking about.
Your "test" is a complete idiocy because if the physical thread is not in use it's obvious that the logical core will behave almost (not exactly the same in fact, but almost) in the same way by copying the information. But still there IS a difference for the OS between a physical and logical process because the logical is just a COPY of certain sections of the physical, so this means that if the physical core is in use, the logical core will NOT produce a similar (neither remotely) work of another physical core.
When I say 'run two engines' it means of course you should run them simulatneously. One on logical core 0, the other on logical core 1. Otherwise I would have said 'run an engine on core 0 and 1'. As already extensively explained in the original discussion.
So the other thread is in use, by the other engine, and your comment on what happens when it would not be in use is totally irrelevant.
There is no difference between two HT on the same core. The idea that the process using logical core 0 would run on a physical core and logical cor 1 is only a HT is total nonsense. With HT on each HT has its own register set and instruction sequencer, putting the instructions in its own half of the re-order buffer, effectively sharing the rest of the physical core (the reservation station extracting execution-ready instructions from whichever HT from the re-order buffer, sending them to the execution units).
-
- Posts: 6401
- Joined: Thu Mar 09, 2006 8:30 pm
- Location: Chicago, Illinois, USA
Re: What should Robert do? (read post first before you vote)
This thread will be locked temporarily while we either clean it up or make a decision about what stays, split, or moved.
/Mod Team
===
Dear membership,
There are three type of messages in the robodini threads
1- discussions about what is originality, about legality, and so on --> can stay in general topics or go to EO
2- discussions about specific engines origins (especially Houdini's, but also even Critter's and Ippo/Robbo's). They certainly belong to EO only.
3- personal attacks, off topic messages, hijacking. That belongs NOWHERE
These threads generated a lot of interest and we let them grow, but lately, they degenerated with more of type 2 and mainly type 3. It is impossible to remove all messages of type 3 without affecting content. So, if you need anything else to say, please start fresh, if possible in EO. We are going to lock the threads to preserve the content.
Mod team
/Mod Team
===
Dear membership,
There are three type of messages in the robodini threads
1- discussions about what is originality, about legality, and so on --> can stay in general topics or go to EO
2- discussions about specific engines origins (especially Houdini's, but also even Critter's and Ippo/Robbo's). They certainly belong to EO only.
3- personal attacks, off topic messages, hijacking. That belongs NOWHERE
These threads generated a lot of interest and we let them grow, but lately, they degenerated with more of type 2 and mainly type 3. It is impossible to remove all messages of type 3 without affecting content. So, if you need anything else to say, please start fresh, if possible in EO. We are going to lock the threads to preserve the content.
Mod team