thoughts on flags

A forum just for SPCR's folding team... by request.

Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee

Post Reply
Douglas Bailey
Friend of SPCR
Posts: 96
Joined: Fri Dec 05, 2003 11:03 am
Location: Seattle, Washington, United States

thoughts on flags

Post by Douglas Bailey » Thu Mar 04, 2004 1:20 pm

After reading as much as I can find both here and the Stanford folding forum, it's time to ask the experts (yes that's you). The "official" word seems to be don't bother with flags at all, the server will give you what you need and run it as efficiently as possible. But somehow I suspect some of you folks who are maintaining those impressive PPW rates don't completely buy into that idea.

I know that no matter how you flag your machines will get bogged down from time to time. It seems there is no single answer for everyone's machine. And it seems that things change over time with the kind of projects they send out.

But given all that, can you suggest a flag string that this n00b folder can try on his two very modern and otherwise fast P4's so I can contribute as much to this team as possible? Thanks.

dasman
*Lifetime Patron*
Posts: 485
Joined: Thu Jan 08, 2004 10:59 am
Location: Erie, PA USA

Post by dasman » Thu Mar 04, 2004 1:38 pm

Doug,

Also fairly new but flags definitely help. At a bare min you want -advmethods and -forceasm.

I folded the first 2-3 weeks with no flags and then added those to my machines, I improved my folding rate by at least 20%-25% 8)

Dave

geordie
Friend of SPCR
Posts: 175
Joined: Mon Jun 09, 2003 4:00 am
Location: Reading, UK

Post by geordie » Thu Mar 04, 2004 1:55 pm

I pretty much agree with dasman but it depends on your cpu what flags to use.

For P4's then use -advmethods -forceasm
Not sure if forceasm is necessary as optimised assembly code should be used by default anyway, but it doesn't hurt to specify it anyway.

For Athlons that support SSE use -advmethods -forceSSE -forceasm
Athlon processors will not use SSE by default but if available it will give much better performance.

For Athlons that don't support SSE (and other older stuff that doesn't) do not use -advmethods. This flag is only useful for SSE cpus. You will get less points by using it if your cpu doesn't support SSE. Just use -forceasm.

Other useful flags:
-verbosity 9 will give more info in the log file.
-service should be used if you run folding as a service.
-local causes settings to be read from the working directory not the system default. This is necessary for running multiple instances on a machine. You also need to set ID to a different number (1-8 ) for each instance. For P4's with HT you should run 2 instances per processor.

I'm sure David Hays will have something to add to this :)

geordie
Friend of SPCR
Posts: 175
Joined: Mon Jun 09, 2003 4:00 am
Location: Reading, UK

Post by geordie » Thu Mar 04, 2004 1:59 pm

... and setting your username to captain_android is the most important thing :wink:

aston
Posts: 139
Joined: Fri Jan 16, 2004 2:47 pm
Location: Victoria, BC

Post by aston » Thu Mar 04, 2004 2:09 pm

What about P3's (that support SSE)?

geordie
Friend of SPCR
Posts: 175
Joined: Mon Jun 09, 2003 4:00 am
Location: Reading, UK

Post by geordie » Thu Mar 04, 2004 2:31 pm

I guess a P3 with SSE will be the same as for a P4. SSE is the key for advmethods.

haysdb
Patron of SPCR
Posts: 2425
Joined: Fri Aug 29, 2003 11:09 pm
Location: Earth

Post by haysdb » Thu Mar 04, 2004 2:31 pm

I have nothing to add to geordie's thorough and concise summary. :shock: :D
aston wrote:What about P3's (that support SSE)?
-forceasm only. -forcesse should not be required, since the default for Intel cpu's with SSE should be to use SSE. The log file should say what's being using, if you want to be sure.

My understanding of -forceasm is that if you run without it, and you abort a WU, assembly optomizations can get turned off. This assures that they stay on. Don't take that as gospel though.

David
Last edited by haysdb on Thu Mar 04, 2004 2:35 pm, edited 1 time in total.

CoolGav
Posts: 398
Joined: Wed Jul 23, 2003 4:26 am
Location: €ngland
Contact:

Post by CoolGav » Thu Mar 04, 2004 2:31 pm

Yes, PIII's do support SSE, and should have the relevant flags...

dasman
*Lifetime Patron*
Posts: 485
Joined: Thu Jan 08, 2004 10:59 am
Location: Erie, PA USA

Post by dasman » Thu Mar 04, 2004 2:35 pm

geordie wrote:I pretty much agree with dasman but it depends on your cpu what flags to use.
Thanks for being thorough -- since he said he's got P4's, I only gave him the P4 answer :wink:

I do think this is a worthy topic though. Maybe someone more knowledgeable about all the in's and out's of flags can sticky a guide to the top of the forum?

Question, do you really have to run -local? I only have one HT capable machine and I'm not using the local flag -- does that mean all my points aren't being counted? (I think they are) I'm running both as services with different ID's -- each console is installed in it's own directory using the FAHstats installer.

Dave

haysdb
Patron of SPCR
Posts: 2425
Joined: Fri Aug 29, 2003 11:09 pm
Location: Earth

Post by haysdb » Thu Mar 04, 2004 2:48 pm

I agree, we need a FAQ. Until then, here is an excellent collection of Folding@Home links:

Mega Guide to Sudhian Folding Threads!

David

haysdb
Patron of SPCR
Posts: 2425
Joined: Fri Aug 29, 2003 11:09 pm
Location: Earth

Post by haysdb » Thu Mar 04, 2004 3:04 pm

dasman wrote:Question, do you really have to run -local? I only have one HT capable machine and I'm not using the local flag -- does that mean all my points aren't being counted? (I think they are) I'm running both as services with different ID's -- each console is installed in it's own directory using the FAHstats installer.

Dave
Folding@home Console Client: User Guide
-local
Use configuration files from local directory. This option has no meaning on Linux, but is vital on Windows and Macintosh for running multiple clients on a machine. It instructs the client to read its config information from the client.cfg file in the current directory rather than, on Windows, from the installation directory specified in the registry, or, on Macintosh, the Library/Folding@home directory. Information such as the user name, team name, proxy information, machine ID are maintained in the client.cfg file. The flag ensures that work does not conflict. Use "-local" only if you are planning on running more than one instance of Folding@Home on the same machine (this is only useful if you are running on a multi-processor machine). Create as many directories as there are processors on the machine, copy the exe files and client.cfg file into each of these directories, run "FAH3Console -local -config" on each and specify unique machine IDs for each directory (under the Advanced Settings option). From then onwards you may run each copy by switching to its directory and running with the -local flag.

dasman
*Lifetime Patron*
Posts: 485
Joined: Thu Jan 08, 2004 10:59 am
Location: Erie, PA USA

Post by dasman » Sat Mar 06, 2004 1:10 pm

David,

I've looked into this -local flag thing on my machine and I've come to the decision that my setup is FUBAR. :cry:

But, I'm not really sure how to get it right - hopefully some of you F@H experts can help me out here...

Current setup:
P4 3.06

Used FAH4.Console Installer (from the FAHlogstats guys site) to install as a service with -advmethods and -forceasm flags (did not give option for many flags). Installed as ID2 into Folding@Home2 directory.

Repeated to install again as ID3 into Folding@Home3 directory.

When I use EMIII to look at the Queue.Dat file, each client has it's own distinct User ID 4BF4C3327951FB62 for ID2 and 4BF4C3327951FB63 for ID3 so I thought everything was kosher.

However, after reading David's post, I've paid more attention to the proteins they have been working on -- they're usually the same protein (that's pretty unlikely I think). That made me dig into the log files for each -- only to find that both are starting with User ID 4BF4C3327951FB61 (presumably ID1, an old GUI installation that I have long since bombed off the machine) -- they are starting with the correct machine ID's (2 & 3).

I've tried stopping the services (FAH_2 and FAH_3) and running the console manually using the -local flag, but they still revert to the xxx1 ID.

Here is the start of the log for ID2:
[18:18:58] - Ask before connecting: No
[18:18:58] - Use IE connection settings: Yes
[18:18:58] - User name: dasman (Team 31574)
[18:18:58] - User ID = 4BF4C3327951FB61
[18:18:58] - Machine ID: 2
and for ID3:
[22:12:54] - Ask before connecting: No
[22:12:54] - Use IE connection settings: Yes
[22:12:54] - User name: dasman (Team 31574)
[22:12:54] - User ID = 4BF4C3327951FB61
[22:12:54] - Machine ID: 3
I have no idea how the FAH4.Console installer installed these as a service (I have an email into the FAHlogstats guy) and I have no idea how to get this working correctly. :?

:?: Does anyone know how to delete a service? Anyone know how to add the -local switch to the services I already have? Anyone know why when I stop the service and start the console at the command prompt (with the -local switch), I am still getting the UserID xxx1 and not what the Queue.dat file has for that client? :?:

I'm kinda at a loss here :( , any help would be appreciated.

Thanks,

Dave



Edited for formatting screwup..

haysdb
Patron of SPCR
Posts: 2425
Joined: Fri Aug 29, 2003 11:09 pm
Location: Earth

Post by haysdb » Sat Mar 06, 2004 4:09 pm

Dave, I think everything is OK.

A single computer will have a single User ID. This is stored in the Registry. It's in the queue.dat also, but I believe this is "informational" and it's the User ID in the registry that is important. The Machine ID is then added to the User ID to form a unique "key" for each client.

Services are maintained in the registry. Here are my entries (although yours may be completely different if F@H is set up as a service on your machine in a different way):

Code: Select all

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\F@H_CPU_0\parameters]
"Application"="C:\\Program Files\\Folding@Home\\cpu1\\FaH4Console.exe"
"AppDirectory"="C:\\Program Files\\Folding@Home\\cpu1"
"AppParameters"="-service -local -forceasm -advmethods"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\F@H_CPU_1\parameters]
"Application"="C:\\Program Files\\Folding@Home\\cpu2\\FaH4Console.exe"
"AppDirectory"="C:\\Program Files\\Folding@Home\\cpu2"
"AppParameters"="-service -local -forceasm -advmethods"
David

dasman
*Lifetime Patron*
Posts: 485
Joined: Thu Jan 08, 2004 10:59 am
Location: Erie, PA USA

Post by dasman » Sat Mar 06, 2004 7:25 pm

David,

Ok, I just did a search of the registry and found where the reg keys are -- I added -local and -verbosity 9 to my parameters and restarted the services. Now the log files reflect those flags being used.

I'm still not sure why EMIII would show different User ID's or why I have been working on the same proteins (ie., both would be working on the same one, then whichever was done first would DL a new one, when the second ID finished it would DL the same as the first -- both almost always would work on the same thing).

I'm going to monitor to see if there is a change in the proteins worked since I've added the -local switch. I guess the only way to be sure would be to change the team number, let each finish a single protein and see how they are credited.

Thanks for your help so far, I'll let you know what I find...

Dave

Sam Williams
Posts: 158
Joined: Wed Oct 15, 2003 6:21 pm
Location: Great Britain

Post by Sam Williams » Sun Mar 07, 2004 1:41 am

What does -service actually do when running as a service?

geordie
Friend of SPCR
Posts: 175
Joined: Mon Jun 09, 2003 4:00 am
Location: Reading, UK

Post by geordie » Sun Mar 07, 2004 1:55 am

Sam Williams wrote:What does -service actually do when running as a service?
If you don't use it then fah will terminate every time a user logs out.
Try logging in and out a few times and take a look at the log file to see.

Post Reply