In lieu of asking many folding questions tonight, it piqued my curiousity finally to see if I was really being as efficient as I could be with my new system and folding. As such, despite me simply letting FaH run as-is and not really give it a second thought, I finally took out some time to compile a little stat breakdown and realized that there are some good things I can do regarding the -SMP flag / switch.
Right now I'm running Windows 7 64-bit with the SR-2 system in my sig. (2x e5620 @ 2.4 stock w/Megahalems / 12 GB 1600 RAM, 1 EVGA GTX 580SC). What was very surprising with all this suggesting recently for me to figure out how to run -bigadv WUs, it also simply encouraged me to do some testing of my own. I hope you guys find the info useful.
Firstly I found a great thead here: http://foldingforum.org/viewtopic.php?f=55&t=15088
as well as one or two very good -bigWU threads on OCN. Thanks to Zodac, Deeeebs and others for their insight as well.
I wanted to test and see simply how the settings of CPU Idle VS Low, GPU Working VS Not, and using the -SMP flag VS an -SMP flag with a thread / core indicator would affect both the TPF (time per frame of a 1% increment) as well as the GPU itself in getting more work done sooner. Here are my results:
All stats tested with Project #6041 a3 SMP Core and Project #6801 GPU SMP Core. All work data save wudata_0x.dat and wuinfo_0x.dat was wiped from the working folder before each core run to keep the tests consistent.
SMP with no core flag simply means indicating the -SMP flag by itself in the configuration settings.
SMP -15 means that the SMP core uses all processing coresand threads (in my case except one) to allow the GPU to use a core for it's processing offload needs.
Core Priority Low or Idle is the setting in the configuration to account for if other programs are overriding FaH's processing but it can also affect how the CPU SMP and GPU clients affect each other when working concurrently.
Core Load is simply the load shown in Windows Task Manager.
GPU SMP is simply my shorthand for the GPGPU3 Core.
SMP with -15 and core priority to Low w/GPU working =
7m 53 sec TPF / Core Load @ 96-98%
SMP with no core flag and core priority to Low w/GPU working =
9m 14 sec TPF / Core Load @ 100% continuous
SMP with -15 and core priority to Low w/GPU not working =
7m 48 sec TPF / Core Load @ 93% continuous
SMP with no core flag and core priority to Low w/GPU not working =
7m 17 sec TPF / Core Load @ 100% continuous
How this all affects the GPU by itself...
GPU SMP with CPU SMP -15
~7,000 iter/sec / 1,250 ns/day
GPU SMP with CPU SMP no core flag
~6,000 iter/sec / 1,200 ns/day
SMP with -15 and core priority to Idle w/GPU working =
7m 53 sec TPF / Core Load @ 96-97%
SMP with no core flag and core priority to Idle w/GPU working =
9m 49 sec TPF / Core Load @ 100% continuous
SMP with -15 and core priority to Idle w/GPU not working =
7m 50 sec TPF / Core Load @ 93-97%
SMP with no core flag and core priority to Idle w/GPU not working =
7m 27 sec TPF / Core Load @ 100% continuous
As you can see, there are only a few wrong settings that conflict with each other and elevate the time needed per %. While one would think that by folding with their GPU and simply setting the -SMP flag would allow the system and program to automatically make the best choices, it would instead appear that giving (in my case) one extra core or thread for the GPU very much offsets the time needed for both the CPU and GPU to do their work. By forcing a particular -SMP core count, not only does it give the system a core to process any CPU load required by the GPU (and speeds it up slightly), it also seperates the CPU / GPU loads. In other words, the GPU load butting into a SMP core load of 100% forces the CPUs to take extra time to work on whatever the GPU needs done and in fact, slows down the CPUs significantly, as can be seen by nearly two minutes extra *per* TPF!
Of course, the most shocking thing is that I ran the "slow" method for almost my entire folding endeavors - it was only curiousity that encouraged me to really test it out and learn that yes, there are in fact, better ways of running two mixed clients.
I hope this helps and gives everyone more PPD if you weren't using the correct flags or switches already! Thanks.