Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik: Cliffs of Dover

IL-2 Sturmovik: Cliffs of Dover Latest instalment in the acclaimed IL-2 Sturmovik series from award-winning developer Maddox Games.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-17-2011, 06:44 PM
LoBiSoMeM LoBiSoMeM is offline
Approved Member
 
Join Date: May 2010
Posts: 963
Default

Quote:
Originally Posted by Whiski View Post
If I turn off HT now, will I have to turn it back on once we get multi-core support?

Whiskey
Multicore processing isn't the same as Intel HyperCrap!

You have an AMD CPU, you don't have HyperCrap!
Reply With Quote
  #2  
Old 10-17-2011, 08:44 PM
yakaddict yakaddict is offline
Approved Member
 
Join Date: Jun 2008
Posts: 29
Default

Quote:
Originally Posted by LoBiSoMeM View Post
Multicore processing isn't the same as Intel HyperCrap!

You have an AMD CPU, you don't have HyperCrap!
Hypercrap? I smell a flame war in the kindling...
Reply With Quote
  #3  
Old 10-17-2011, 09:47 PM
LoBiSoMeM LoBiSoMeM is offline
Approved Member
 
Join Date: May 2010
Posts: 963
Default

Quote:
Originally Posted by yakaddict View Post
Hypercrap? I smell a flame war in the kindling...
No flame. We today have X4, X6, X8 CPUs, and this proprietary tech from Intel have issues regards performance with some apps. We AMD customers don't need to bother
Reply With Quote
  #4  
Old 10-18-2011, 06:52 AM
ZaltysZ's Avatar
ZaltysZ ZaltysZ is offline
Approved Member
 
Join Date: Sep 2008
Location: Lithuania
Posts: 426
Default

I don't see any difference with HT on and HT off in CoD. In fact, none of my sims get stutters related to HT.

There is little utility here: http://technet.microsoft.com/en-us/s.../cc835722.aspx , which will show cpu mapping if it is run with "-c" parameter.

Usual mapping for i7 9xx with HT is: A=[0,1], B=[2,3], C=[4,5], D=[6,7]. This means that virtual CPUs 0 and 1 are in fact a single hyperthreaded core and so on. This is most common mapping, but it is done by BIOS, so mainboard manufacturer still has ability to make a surprise. It is important to know the mapping surely if you are going to use HT with manually set affinity masks.

HT is pretty nice thing, but it requires certain conditions for noticeable performance gains, whose are usually achievable only by specially designed applications, however even non HT aware applications usually benefit from HT to some extent.

Most problems start when two logical cores, belonging to same physical core, are treated as fully separate physical cores. I.e., if two heavy threads are put on cores 6 and 7 (same physical core), then they will run very slow, if compared to situation when they are put on cores 4 and 6 (2 separate physical cores). This must be always be taken into account, when setting affinity masks, and setting manual affinity masks is a must sometimes (i.e. thread scheduler likes to condense everything on to single physical CPU, while thinking it is 2 CPUs).

Those who have stutters with HT on, have you tried running with HT and custom affinity mask? I.e. putting CoD on cores 2, 4, 6 (counting from 0).

Last edited by ZaltysZ; 10-18-2011 at 09:31 AM.
Reply With Quote
  #5  
Old 10-18-2011, 08:38 AM
335th_GRAthos 335th_GRAthos is offline
Approved Member
 
Join Date: Oct 2007
Posts: 1,240
Default

Wow, thank you Zalty for this information.

Until now, we had Process Affinity =
=1 - core 0
=2 - core 1
=3 - core 0+1
=4 - core 2
=5 - core 0+2
=6 - core 1+2
=7 - core 0+1+2
=8 - core 3
=9 - core 0 + 3
=10 - core 1 + 3
=11 - core 0 + 2 + 3
=12 - core 2 + 3
=13 - core 0 + 2 + 3
=14 - core 1 + 2 + 3
=15 - core 0 + 1 + 2 + 3

I am very bad with (binary maths) so, what number do we need in order to make the game use cores 0+2+4+6 ????

~S~
Reply With Quote
  #6  
Old 10-18-2011, 08:42 AM
Helrza Helrza is offline
Approved Member
 
Join Date: Sep 2010
Location: Sydney Australia
Posts: 214
Default

Quote:
Originally Posted by 335th_GRAthos View Post
Wow, thank you Zalty for this information.

Until now, we had Process Affinity =
=1 - core 0
=2 - core 1
=3 - core 0+1
=4 - core 2
=5 - core 0+2
=6 - core 1+2
=7 - core 0+1+2
=8 - core 3
=9 - core 0 + 3
=10 - core 1 + 3
=11 - core 0 + 2 + 3
=12 - core 2 + 3
=13 - core 0 + 2 + 3
=14 - core 1 + 2 + 3
=15 - core 0 + 1 + 2 + 3

I am very bad with (binary maths) so, what number do we need in order to make the game use cores 0+2+4+6 ????

~S~
By manually changing the process affinity mask threw the taskmanager.
Reply With Quote
  #7  
Old 10-18-2011, 09:27 AM
ZaltysZ's Avatar
ZaltysZ ZaltysZ is offline
Approved Member
 
Join Date: Sep 2008
Location: Lithuania
Posts: 426
Default

Quote:
Originally Posted by 335th_GRAthos View Post
I am very bad with (binary maths) so, what number do we need in order to make the game use cores 0+2+4+6 ????
In affinity mask each bit represents one CPU: 1 value - use CPU, 0 value - don't. Bits are counted from right to left, so you need do the same with CPUs. In our case, that would be: 7, 6, 5, 4, 3, 2, 1, 0. Now replace wanted CPUs with 1s and unwanted with 0s. You will get: 0, 1, 0, 1, 0, 1, 0, 1 or simply 1010101. Convert that from binary to decimal (use Windows calculator) and get a mask of 85.
Reply With Quote
  #8  
Old 10-18-2011, 10:00 AM
klem's Avatar
klem klem is offline
Approved Member
 
Join Date: Nov 2007
Posts: 1,653
Default

Quote:
Originally Posted by ZaltysZ View Post
In affinity mask each bit represents one CPU: 1 value - use CPU, 0 value - don't. Bits are counted from right to left, so you need do the same with CPUs. In our case, that would be: 7, 6, 5, 4, 3, 2, 1, 0. Now replace wanted CPUs with 1s and unwanted with 0s. You will get: 0, 1, 0, 1, 0, 1, 0, 1 or simply 1010101. Convert that from binary to decimal (use Windows calculator) and get a mask of 85.
Is it better to assign CoD to the first threads of each core in this way or to turn off Hyperthreading in BIOS and assign it to all cores (=15).

And why?
__________________
klem
56 Squadron RAF "Firebirds"
http://firebirds.2ndtaf.org.uk/



ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU
Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders
Reply With Quote
  #9  
Old 10-18-2011, 04:29 PM
335th_GRAthos 335th_GRAthos is offline
Approved Member
 
Join Date: Oct 2007
Posts: 1,240
Default

Quote:
Originally Posted by ZaltysZ View Post
In affinity mask each bit represents one CPU: 1 value - use CPU, 0 value - don't. Bits are counted from right to left, so you need do the same with CPUs. In our case, that would be: 7, 6, 5, 4, 3, 2, 1, 0. Now replace wanted CPUs with 1s and unwanted with 0s. You will get: 0, 1, 0, 1, 0, 1, 0, 1 or simply 1010101. Convert that from binary to decimal (use Windows calculator) and get a mask of 85.

[Standing Ovation]

Thanks!
(we started with numbers 1,2,3,4 some years ago; then moved to 15 six months ago; now 85! This is progress my friends! )


I have been flying yesterday with HT = off
I must say I did not have any stutters but, I also realised I never had any stutters before.
So, I wanted to turn HT=on again and test but I also wanted to control better the use of CoD on the cores (and identify how much CPU-time is used by other processes).

Interestingly enough, I had exactly the same concern as SEE (the NV threaded optimisation usage).

~S~
Reply With Quote
  #10  
Old 10-18-2011, 05:28 PM
CaptainDoggles's Avatar
CaptainDoggles CaptainDoggles is offline
Approved Member
 
Join Date: Jun 2011
Posts: 1,198
Default

Quote:
Originally Posted by ZaltysZ View Post
In affinity mask each bit represents one CPU: 1 value - use CPU, 0 value - don't. Bits are counted from right to left, so you need do the same with CPUs. In our case, that would be: 7, 6, 5, 4, 3, 2, 1, 0. Now replace wanted CPUs with 1s and unwanted with 0s. You will get: 0, 1, 0, 1, 0, 1, 0, 1 or simply 1010101. Convert that from binary to decimal (use Windows calculator) and get a mask of 85.
For those who enjoy math, the conversion from binary (base 2) to decimal (base 10) works out like this:

Code:
1010101 = 1*2^0 + 0*2^1 + 1*2^2 + 0*2^3 + 1*2^4 + 0*2^5 + 1*2^6
        =   1   +   0   +   4   +   0   +   16  +   0   +   64
        = 85
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:16 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.