Page 1 of 1

2 Cores for SMPbetter? Or, 1 core GPU, 1 core CPU client

Posted: Tue Mar 18, 2008 4:46 am
by chungenhung
system in question:
CPU: Core 2 duo @3.0GHz.
VGA: 1900GT
OS: WinXP

I was wondering, should I let it run 2 CPU for SMP, or should I run regular 1 CPU and leave the other CPU to Feed the GPU client?
Which will be better from scientific perspective?
I know for sure that running 2 CPU and ignoring the GPU would produce more PPD.
and, can I set the CPU feeding the GPU to like say 20% only? How will it impact the GPU performance?

Re: 2 Cores for SMPbetter? Or, 1 core GPU, 1 core CPU client

Posted: Tue Mar 18, 2008 5:00 am
by bruce
chungenhung wrote:system in question:
CPU: Core 2 duo @3.0GHz.
VGA: 1900GT

I was wondering, should I let it run 2 CPU for SMP, or should I run regular 1 CPU and leave the other CPU to Feed the GPU client?
Which will be better from scientific perspective?
I know for sure that running 2 CPU and ignoring the GPU would produce more PPD.
and, can I set the CPU feeding the GPU to like say 20% only? How will it impact the GPU performance?
The answer depends on whether you're running DirectX10 in Vista or DirectX9 in WIndowsXP and a number of other factors.

In either case, I'm not sure there is a clear answer. If you try various options, you need to eliminate anything that doesn't meet the Preferred Deadlines because even though you can get points up until the Final Deadline, the science does suffer.

I did run a GPU client on a X1950XTX with a SMP client but it ended up delaying both clients, no matter what I did with %CPU. I decided to move the GPU to a slower CPU and leave the C2D to do SMP. (With WinXP, even the slowest CPU gives nearly as much GPU performance as a fast CPU -- and running either one at 20% slows it down a lot more than you might expect.)

One of these days I'm going to move the GPU to a Vista machine and see what happens there. (I've read several reports, but have no first-hand experience.)

--------------------------

I should also point out two conflicting perspectives on anything you test.

1) The points are SUPPOSED to represent scientific value but they don't always. The Pande Group has some plans to make them a more accurate measure of scientific value, but in the meantime, using PPD is a reasonable approximation.

2) Anything that you do that delays a WU is ultimately contrary to the scientific goals of FAH. That means you shouldn't consider one SMP client and one GPU client because they're both going to run slower than if you only ran one of them. A single GPU client and a single uniprocessor client on Dual CPU hardware or a single SMP client fits this plan. Similarly, your 20% CPU suggestion doesn't follow this concept.

The conflict is that running both SMP and GPU (for example) may produce more points while slowing down the return of the WUs (or it may not produce more points, depending). When there's a conflict, I tend to support 2 at the expense of 1.

Re: 2 Cores for SMPbetter? Or, 1 core GPU, 1 core CPU client

Posted: Tue Mar 18, 2008 10:03 pm
by jrweiss
I think point value will be comparable (1PU+GPU <-> SMP), with the edge to SMP. Once the SMP client is running well, I think it is easier to maintain and less intrusive than the GPU client.

I am currently running SMP on a similar rig (C2D 3.0 GHZ, X1950 Pro), and previously ran CPU+GPU on a dual Opteron 2 GHz/X1650Pro rig (both XP Pro). The GPU client interfered occasionally with Photoshop and Acrobat, and refused to play nice with my wife's embroidery program. By contrast, I have not had any problems with the SMP client.

I'm not sure how setting the GPU client to 20% will affect it. If it slows down the client to 20%, as happens with the CPU client, you will lose one of the main advantages of the GPU client -- speed. It would be better for science to run the SMP client at 95-100% and turn in results every day or 2.

Re: 2 Cores for SMPbetter? Or, 1 core GPU, 1 core CPU client

Posted: Thu Mar 20, 2008 2:38 am
by imzjustplayin
bruce wrote:
chungenhung wrote:system in question:
CPU: Core 2 duo @3.0GHz.
VGA: 1900GT

I was wondering, should I let it run 2 CPU for SMP, or should I run regular 1 CPU and leave the other CPU to Feed the GPU client?
Which will be better from scientific perspective?
I know for sure that running 2 CPU and ignoring the GPU would produce more PPD.
and, can I set the CPU feeding the GPU to like say 20% only? How will it impact the GPU performance?
The answer depends on whether you're running DirectX10 in Vista or DirectX9 in WIndowsXP and a number of other factors.

In either case, I'm not sure there is a clear answer. If you try various options, you need to eliminate anything that doesn't meet the Preferred Deadlines because even though you can get points up until the Final Deadline, the science does suffer.

I did run a GPU client on a X1950XTX with a SMP client but it ended up delaying both clients, no matter what I did with %CPU. I decided to move the GPU to a slower CPU and leave the C2D to do SMP. (With WinXP, even the slowest CPU gives nearly as much GPU performance as a fast CPU -- and running either one at 20% slows it down a lot more than you might expect.)

One of these days I'm going to move the GPU to a Vista machine and see what happens there. (I've read several reports, but have no first-hand experience.)

--------------------------

I should also point out two conflicting perspectives on anything you test.

1) The points are SUPPOSED to represent scientific value but they don't always. The Pande Group has some plans to make them a more accurate measure of scientific value, but in the meantime, using PPD is a reasonable approximation.

2) Anything that you do that delays a WU is ultimately contrary to the scientific goals of FAH. That means you shouldn't consider one SMP client and one GPU client because they're both going to run slower than if you only ran one of them. A single GPU client and a single uniprocessor client on Dual CPU hardware or a single SMP client fits this plan. Similarly, your 20% CPU suggestion doesn't follow this concept.

The conflict is that running both SMP and GPU (for example) may produce more points while slowing down the return of the WUs (or it may not produce more points, depending). When there's a conflict, I tend to support 2 at the expense of 1.
Has anyone tried setting the CPU limit in the GPU client or limit it to idle or something? On the regular client you can tell the CPU client how much cpu time to utilize, what about the GPU client? My feeling this is similar to the "starcraft" situation, where starcraft regardless of the system it is run on, will take up 100% cpu time, however reducing the total cpu time starcraft gets does not impact performance. So if you have two clients running, you could put the GPU client in lower priority and the CPU client in higher priority, setting the CPU client to take (depending on the performance of the processor) say 85% CPU time and the rest goes to the GPU client.

What I do when I play starcraft and I want to fold is have the CPU client on normal priority and utilize 91% cpu time and starcraft gets the rest of the CPU time. With this setup, I get no performance impact on starcraft performance and minimal impact on folding performance, just as it should.

Re: 2 Cores for SMPbetter? Or, 1 core GPU, 1 core CPU client

Posted: Thu Mar 20, 2008 5:39 am
by bruce
imzjustplayin wrote:Has anyone tried setting the CPU limit in the GPU client or limit it to idle or something?
Yes, that has been tried, and it's not as successful as you would expect.

Microsoft DirectX9 will use as much CPU as you give it. When you use the mechanism that limits the CPU with FAH, it's not like you describe with starcraft. At 90% CPU, FAH will actually run at about 90% of the base speed. Running it at 50% CPU will run it at about 50% of the standard speed.

In spite of logic that says they might be the same, a 2.0 GHz machine running at 50% CPU is much, much slower than a 1.0 GHz machine running at 100%.