• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Affinities

Kendrak

[H]ard|DCer of the Year 2009
Joined
Aug 29, 2001
Messages
21,141
How do I kick the SMP client off one of the cores?

I have a new boxen setup that is running windows XP. Has a q6600 and a 8800GS. The GPU client starves when the SMP is running. I have tried locking the GPU and unlocking it to cores, but the SMP is the problem.

I looked in the GPU2 guide but didn't see anything relating to this.

Edit: I know how to this this the hard way in windows task manager, but is there any way to set this on boot. This box has no monitor and keyboard/mouse

 
Here's two you can try. The one from Edgemere Software has a seperate proggie for dual and quad. The one called "Bills2" seems to be a fav of the 'Roos. It's in French natively but has the option to set English as the language. Both are supposed to be "rules based" and both should be startable at boot to whack those SMP process wherever you want. (At least that's the theory :) )

In reality, I haven't personally tried either... so YMMV. :D

Set Affinity II

Bill 2. download link is in the upper right hand corner for the latest version. I was able to find this via a google search on Softpedia as well but didn't look like the latest (3.2.1.7 is latest) version.

If you try them out, keep us updated on how they work and your thoughts...

Luck!


 
Bill 2 looked good, but at first glance it is just a more fancy version of what task manager is..... when I take the new box to the basement and VNC into we will see how it works.

 
:cool: Hope it works out. Will watch this thread for an update.

GL.


 
You can also try SMP Seesaw Pro.
It has an isolate funtion so only what you set will run on that core/cores.
You could try and isolate the GPU client on one core and see if it keeps the SMP cores off that core.

The other thing to try is to up the priority of the GPU client.
Try upping it from low to either below normal or normal.
That way it will grab the cycles before the SMP client.

Luck ............. :D
 
Did you try using the environment variables to set the gpu to 2 or more of your cores. I had an XP box that ran 2 SMP and one 8800GT and seemed to produce ok this way. GPU was also set to slightly higher priority and I had affinity changer running in the background.
I remember reading some place on the forum that if you have an SMP running on just 3 cores the production for the SMP tanks for some reason (like it would only be giving the output of running on two cores or something like that)

I can't remember where I saw that or who might have said it but keep an eye on your ppd in case it is lower than expected.

 
The problem with SMP Seesaw Pro is the next time the F@H client turns in unloads the fah cores and reloads them they reset to their standard affinity.

And the environmental variable is what you need to set... try 15 all my boxes (10 up at the moment) 1 with 3 88GTXs are at near full speed hitting 5300 right now and 1 smp running. I don't have to do anything to get them to play nice now with the smp. ALSO... make sure you set the GPU to slightly higher priority in tab 3 of the GPU configuration.



 
The problem with SMP Seesaw Pro is the next time the F@H client turns in unloads the fah cores and reloads them they reset to their standard affinity.

And the environmental variable is what you need to set... try 15 all my boxes (10 up at the moment) 1 with 3 88GTXs are at near full speed hitting 5300 right now and 1 smp running. I don't have to do anything to get them to play nice now with the smp. ALSO... make sure you set the GPU to slightly higher priority in tab 3 of the GPU configuration.




I did set it higher and it was still starving. Right now it is working..... so I'm not going to touch anything until I have to move the boxen.

 
I'm doing it manually with my 2 XP GPU boxens. I set each VM to take the first 3 cores and let the last core for the GPU and it works fine (SMP instances drop down to about 1700 ppd from 2100 ppd but the GPU run full blast at 5000 ppd so it even out). I know it's a bitch but since I don't have to mess with those boxens, it's not a biggie. I also installed TightVNC to manage those boxes remotely (RDP crash the GPU client :().

With Vista, it's different : Each SMP instance is assigned to 2 cores (0-1 and 2-3), one instance get the priority set to low and I let the GPU client grab the cycles it needs. Like that, one instance run full blast, the other lost 200 ppd only and everything is purring along.

Keep in mind that when I'm talking about a instance, it's a VMWare instance. I'm not touching WinSMP at home with a 10 foot pole. Since the VMWare instance doesn't respawn with a new unit, only when you stop it, so it will work fine.

 
So the real solution is I now have to figure out VMs

Maybe next weekend :(

 
The one called "Bills2" seems to be a fav of the 'Roos.

Just found that this morning and it's quickly becoming a fave of mine as well. It lets you control all aspects of affinity and priority and keeps things where you set them. Very cool!
 
Just found that this morning and it's quickly becoming a fave of mine as well. It lets you control all aspects of affinity and priority and keeps things where you set them. Very cool!

Hmm, there's still one aspect I haven't been able to resolve. Has anyone found a way to automatically set affinities for two instances of the SMP client in a VM (instance 1 to CPU 0 and 1, instance 2 to CPU 2 and 3)? Since it's two instances of the same executable, none of the programs I've tried seems to be able to control the affinity separately.

It's not a huge deal since it's pretty much a "set it and forget it" type of thing, but in the case of power outages and other needs to reboot, it would be nice to have them set automatically.
 
Hmm, there's still one aspect I haven't been able to resolve. Has anyone found a way to automatically set affinities for two instances of the SMP client in a VM (instance 1 to CPU 0 and 1, instance 2 to CPU 2 and 3)? Since it's two instances of the same executable, none of the programs I've tried seems to be able to control the affinity separately.

I use SMP Seesaw to set the affinities of the VM's to the cores.
The free version of VMWare Server only runs on two CPU cores.
So on a Quad you set up two VM's with each VM locked to a pair of cores.

On my Dual-Quad I run four VM's locked on to 7 CPU cores, this only slows them down around 5%.
I then run the GPU2 client on the remaining CPU core.

Luck ........... :D
 
I haven't had to do that with SeeSaw Pro.

Trying out Bill2 on my new 9800gx2 boxen. It's running on a (currently) stock E6600. This tool actually looks pretty damn sweet. It has rules you can set so when ever a process starts (say FahCore_11.exe) it will set the priority and affinity. Will let everyone know how it works out.

So far I can say that my 2 GPU clients have the exact same PPD (gpu1 was running ~100 ppd over gpu2 prior to this).

 
So far Bill2 has been setting my rules each time FahCore restarts, everything going smoothly. 6 WU completed on one gpu, 5 on the other.

 
So far Bill2 has been setting my rules each time FahCore restarts, everything going smoothly. 6 WU completed on one gpu, 5 on the other.


Nice.. that's good to hear. I was tiring of doing it manually with SMP Seesaw Pro (even though it works fine) and need to get this setup for autostarts on reboot. Time to get this setup now that I've finally got some time on my hands. Thanks for the update!


Parja said:
Has anyone found a way to automatically set affinities for two instances of the SMP client in a VM (instance 1 to CPU 0 and 1, instance 2 to CPU 2 and 3)?

When I ran 2x VM with the GPU I'd set affinitiy for "vmware-vmx.exe" to 0,1,2. It seemed to work fine that way on my system. That effectively locked both VMs to 0-2 and they balanced themselves. Might be worth a shot.


 
Sorry to bump an older thread but this is just the topic I needed information on.

Does Bills2 program work with the GPU / SMP cleint and the respawned cores?

I need a way to force my ATI cores to a specific cores and did not know about each time the start a new FAH_11 core if the assigned affenity would stick?

(I did see in the program features: "A rule sets affinity / priority based ont he name or the full path of the executable"

If so, how do I set that up? Do i set the parent FAH.exe and it does it or what?

I am running Vista x64
 
theres another trick.. actually found the gpu client even in xp will still max out my gpu/PPD while only using 2% of my cpu.. you just need to set in the config for the gpu client in the advanced tab and change the cpu priority from lowest possible to slightly higher.. worth a try to see if it fixes your problem..



also the gpu client automaticly uses the last core on your processor.. core1 (dual) core3(quad)
 
Sorry to bump an older thread but this is just the topic I needed information on.

Does Bills2 program work with the GPU / SMP cleint and the respawned cores?

I need a way to force my ATI cores to a specific cores and did not know about each time the start a new FAH_11 core if the assigned affenity would stick?

(I did see in the program features: "A rule sets affinity / priority based ont he name or the full path of the executable"

If so, how do I set that up? Do i set the parent FAH.exe and it does it or what?

I am running Vista x64

EA, I've used Bill's2 with great success on the NV GPU and can only assume that the ATI use would be the same. I locked the FAH_XX executable to whatever core and it worked well on XP32 but I have no experience with Vista x64...

I know Tigerbitten uses the NV_Affinity environment variable to do the same thing, but I'm not sure if the ATI core has such an animal or not. Sorry but that's about all the help I've got... if any.. :)


 
EA, I've used Bill's2 with great success on the NV GPU and can only assume that the ATI use would be the same. I locked the FAH_XX executable to whatever core and it worked well on XP32 but I have no experience with Vista x64...

I know Tigerbitten uses the NV_Affinity environment variable to do the same thing, but I'm not sure if the ATI core has such an animal or not. Sorry but that's about all the help I've got... if any.. :)

Does using this have any preformance increase in the client?

We have been talking on the FF about ATI multi-gpu preformance.
It seems that multi ati gpu bring down gpu ultilization but cpu usage is around 8% so we don't understand what is causing that.
We *think* if we can force a client / core to a specific cpu core, it will help.

The ATI core down not have the "Affinity environment variable" option at this time, but if we can show this works, we can suggest it to Stanford to help performance.

Since Gpu configurations don't seem to suffer from this, as my farm shows as well.

The only way we have found to increase it, it is raise the CPU Mhz.
But since the Client is not using that much CPU, it does not really make sence.

There has been some discussion on if setting the affinity would help, so myself and another are going to test this theory to see if it has any effect.

The bills2 program looks to be exactly what we need to carry out this test.
 
Does using this have any preformance increase in the client?

For multi-GPU setups I believe it does. At least for the NV client. While I've seen people say not locking to cores has shown no performance hit, in my testing, letting multiple GPU clients run wild produced less than giving each their own dedicated core. I would guess the ATI client would be similar but IDK.

It seems that multi ati gpu bring down gpu ultilization but cpu usage is around 8% so we don't understand what is causing that.
We *think* if we can force a client / core to a specific cpu core, it will help.

I think what you're seeing with the GPU utilization in multi setups going down is an indication of the GPU's "fighting" for CPU time.

The only way we have found to increase it, it is raise the CPU Mhz.
But since the Client is not using that much CPU, it does not really make sence.

If the GPU's are fighting for CPU time, raising the CPU speed would seem to raise GPU performance as well I'd think.

I'm pretty sure OCAU has several ATI folders that are using Bill's and could possibly help answer some of these questions as well. Derb is one of the guys that comes to mind right off the bat.

 
ive been running dual SMP clients and my GPU, i got the affinity changer installed, it seems to keep everything in check

 
Sorry to bump an older thread but this is just the topic I needed information on.

Does Bills2 program work with the GPU / SMP cleint and the respawned cores?

I need a way to force my ATI cores to a specific cores and did not know about each time the start a new FAH_11 core if the assigned affenity would stick?

(I did see in the program features: "A rule sets affinity / priority based ont he name or the full path of the executable"

If so, how do I set that up? Do i set the parent FAH.exe and it does it or what?

I am running Vista x64

It does exactly what you want it to. Here's how you set it up. With F@H running, open the app (make sure "Show hidden processes" at the top is checked). Right-click on fahcore_11.exe and select "Create a rule for this process". In the window that pops up, make sure the path to the file is correct, then check off "Set affinity:" and whichever core or cores you want to assign the process to on both the "Normal window" and "Minimized window or hidden process" tabs.

I personally have it set up so that fahcore_11.exe is locked to my fourth core and fahcore_a1.exe is locked to my first three (the rule applies to all instances of the process so I just have all four instances running around on those three cores). Without it set up this way, my GPU performance is crippled and I get around half or even less than half of my normal performance.

Edit: I'm testing out the setting to automatically distribute the affinities of multiple instances, so I have each instance of fahcore_a1.exe set to an individual core now instead of having Windows handling the core balancing. I will see what kind of an effect this has on SMP performance.
 
Well, I tried this today and my PPD actually went down.
I assigned
GPU 1's fah_11.exe to cpu 1
GPU 2's fah_11 exe to cpu 2
and VMware to cpu 3&4.

Both gpu went down abput 250 PPD .... this is weird.
If I let them float around, the PPD went back up.
 
That's weird. When I let my GPU and SMP clients float, the SMP takes up all of my CPU power and my GPU gets hardly anything, even when I set the GPU at a higher priority. Right now, my 4870 is getting around 3600-4000PPD with 474x units.

As for my little experiment with assigning each instance of fahcore_a1.exe to a specific core instead of letting them float, the results seem to be good. My time per frame for a 2653 unit went from around 13-14 minutes to 11-12 minutes. Not a huge difference, but still pretty meaningful considering it'll shave off over three hours of time per unit. I'll just have to see if it holds up and also what the effect on the performance of 2665 units is.
 
I have a strong affinity for The Glenlivet … Glenfiddich … Oh, and Single Barrel Jack.

Does that count?;)

 
EA: You may have to manually "move" it to the right core the first time run FAH after a reboot (or the first setup of the app). This was the general experience I had with Bill2 when using it with the 9800gx2. Once it finished a WU and reloaded the core file it would be fine though.

Other notes, make sure you have "use full path" in the options.

I did not use this with a VM (was just a dual core CPU), but I was using Vista Ult x64.

Oh, and BillR - I recommend going green - Bushmills is a great place to start.


Edit: Other quick notes, make sure you set the priority to something or it will auto push it down to the lowest. Make sure you run it with Admin privileges (after a reboot kill the current running copy and restart it).
Edit 2: I did use this with VM's without GPU (2x VM on a quad). In that case I locked each VM process to a set of cores.
 
Back
Top