- Joined
- Aug 9, 2002
- Location
- Bakersfield, CA - USA
Lets talk .. Gromacs
UPDATED - March 17, 2003
The Gromacs core (core_78) is the new method Stanford is using to simulate the folding of proteins. The Gromacs core is 5 - 20 times more efficient than the tinker core (core_65). This does not mean that WUs will get done 5 - 20 times faster it means that the underlying calculations going on are getting 5 - 20 times more done in about the same amount of time. Stanford really likes the Gromacs core & you can probably figure why after reading the preceding statement. So much so in fact the current long-term plan is to phase out the tinker core. This probably won't happen for a long time, since there are things that the Gromacs core currently cannot do that the tinker core can do, but it is an eventuality.
The Gromacs core uses SSE, which stands for (oh boy..)
Streaming SIMD(Single Instruction Multiple Data) Extensions
Processors & applications that do not use SSE process one data element in one instruction, a processing style called Single Instruction Single Data, or SISD. In contrast, processors having the SIMD capability have the ability to process more than one data element in one instruction. In other words the processor can work harder with the same two hands (if you get the metaphor). Using SSE requires support from the application, the operating system & the CPU.
Processors that have SSE are as follows..
Athlon XP
Duron 1 GHz & above (morgan core)
Pentium 4
Pentium 3
Celeron 566 mhz & above (coppermine & tualatin cores)
Processors that do not have SSE are as follows..
Duron 950 & below (spitfire core)
Athlon (K7, K75, & Thunderbird cores)
K6-3
K6-2
Celeron 533 MHz & below
Pentium 2
Pentium
All Via/Cyrix CPU's
Anything released before the processors listed of course does not have SSE.
Any version of Windows after '98 supports SSE (95' may just not sure). Any newer Linux distro should have support as well.
The Gromacs core also uses AMD’s 3Dnow! which was first introduced in their K6-2 CPU’s and underwent a facelift beginning with Thunderbird core Athlons & all Durons. The new version is often called 3Dnow! Professional, Extended3Dnow! and 3Dnow!+. However, this from Vijay Pande the leader of the project..
The Via C3 also has 3Dnow!
So what does SSE/3Dnow! do for your frame times? It depends on what processor you have. But generally, a whole damn lot. With any SSE capable chip your points will increase significantly, as much as 500%.
Why? Well Stanford has to set their point values and deadlines based on chips that do not have assembly optimizations (SSE/3Dnow!). If they didn't the chips that had no assembly ops and got Gromacs proteins would never make the deadlines. Their benchmarking machine is in fact a P2 based Celeron running at 500mhz.
Pentium 4s get an especially large boost from the Gromacs core. So much so it almost seems silly. Why do the Pentium 4’s get such a big improvement? It is not because of SSE2, Gromacs does not use SSE2..
So with the new core the entire folding game has been changed. Gone are the days when MHz was just about the only thing that matters. Memory bandwidth, & onboard cache size now play a role in frame times. The above quotes are from this thread.
So you have a SSE enabled CPU and you want Gromacs all the time? No problem, all you have to do is turn on the -advmethods flag, which is done like so..
Console & GUI
First off you must be using the 3.14 client or later. Make a shortcut to the console. Right click the shortcut & select properties. The target line should look something like this
"C:\Program Files\Folding@Home\FAH3Console.exe"
All you have to do is add -advmethods to the end of that line like so.
"C:\Program Files\Folding@Home\FAH3Console.exe" -advmethods
Remember to leave the quotes in! Click Apply then click Ok. Start the client with that shortcut and your chances of receiving Gromacs proteins will be increased significantly.
Console & EMIII
Again you must be using the 3.14 client or later. EMIII is a 3rd party add-on for the Folding console. It was written & is updated by The WeatherMan, a folder for hardOCP. It can be found here. Starting with version 2.0.0 EMIII comes with support for such flags. This option has been known to be problematic however so make sure you have the latest version. Just click on the microscope in the upper left of the GUI, click your box name in the center pane, check 'use extra launch commands' and type
-advmethods
into the text box. Then click 'Save Editing' then 'Save & exit'. Restart EMIII and you should be good to go(after your current WU finishes).
This method is only for clients that EMIII starts. For other folding rigs that you monitor with EMIII use the shortcut method above. Or if setup as a scheduled tasks, add the command line switch to the 'run' box.
The -advmethods flag has a broader purpose than just giving you gromacs WU's. It is an indication to the assignment servers that your client wants to participate in the newest projects & let your computer run the newest code coming out of Stanford. Commonly called beta testing. At the time of this writing that means you'll be getting Gromacs WU's. In the future, it could mean something completely different. Also, Gromacs aren't always around! Sometimes you will get a Tinker WU here and there and other times there are no active Gromacs projects at all. During these times you'll get normal WUs just like everybody else.
Another thing you need to know about the Gromacs core is that it works your processor harder than the Tinker core did so your overclock that was stable while folding Tinker WUs may not be stable while folding Gromacs WUs. So if your processor gets a Gromacs WU and it errors, this is what you need to do. First off back your overclock off a bit and then download prime95. Run prime95's torture test for 24 hours. If it does not make it to 24 hours back your O/C off bit by bit until it does. If you CPU can pass a 24-hour prime95 torture test, it should be able to handle the Gromacs WUs without errors. Although I've personally seen CPUs that have been stable forever in prime that choke on Gromacs. So you may need to back your overclock down ever further.
Before you start folding again you need to do one more thing. You see, the guys at Stanford built a safeguard into the current client that will turn off your assembly optimizations given instability. you'll know that this has happened by looking at your log file or the command line window. If your assembly optimizations is on you should see this..
...........
[21:27:32] Looking at optimizations...
[21:27:32] Files status OK
[21:27:33] Done: 248149 -> 1325401 (decompressed 534.1 percent)
[21:27:33] - Project: 903 (Run 16, Clone 32, Gen 7)
[21:27:33] Writing local files:
[21:27:33] Assembly optimizations on if available
[21:27:33] Entering M.D.
[21:27:39] arc file found...
[21:27:39] ... and we'll restart from it.
[21:27:39] Protein: PTrpCage
[21:27:40] Writing local files
[21:27:40] Completed 158000 out of 500000 steps (31%)
[21:31:08] Writing local files
............
If your assembly optimizations are off the line highlighted in red will not be present. Assembly Ops are of course ON by default in chips that support it. Assuming you've done the prime95 stability tests above, and you're confident of the stability of your system, here is how you turn it back on. Delete the 'core.dat' file in your folding@home folder. It's as simple as that. It should turn the assembly optimizations back on when restarted.
There is also a flag you can use to force it on, that being -forceasm. If your doing this in concert with -advmethods just put it right on the end with a space in between, like so in a shortcut for Console & GUI..
"C:\Program Files\Folding@Home\FAH3Console.exe" -advmethods -forceasm
And your 'use extra launch commands' should look like this in EMIII
-advmethods -forceasm
IMPORTANT! DO NOT use the -forceasm flag if you haven't thoroughly tested your systems stability. The only time you should use this flag is when you don't really need to.
Also, your assembly optimizations will be turned off if you system is generally unstable. Like if you get a lot of lock ups, you have to do a lot of hard reboots, or you have a lot of OS crashes. If you have this problem for god's sake fix it! If you can't consider using the -forceasm flag or turning off folding when participating in whatever it is that crashes your system.
Links
The official Gromacs site
The Gromacs FAQ at Stanford
An excellent thread to help you if you are having Gromacs stability problems.
Comments & corrections welcome, thanks.
UPDATED - March 17, 2003
The Gromacs core (core_78) is the new method Stanford is using to simulate the folding of proteins. The Gromacs core is 5 - 20 times more efficient than the tinker core (core_65). This does not mean that WUs will get done 5 - 20 times faster it means that the underlying calculations going on are getting 5 - 20 times more done in about the same amount of time. Stanford really likes the Gromacs core & you can probably figure why after reading the preceding statement. So much so in fact the current long-term plan is to phase out the tinker core. This probably won't happen for a long time, since there are things that the Gromacs core currently cannot do that the tinker core can do, but it is an eventuality.
The Gromacs core uses SSE, which stands for (oh boy..)
Streaming SIMD(Single Instruction Multiple Data) Extensions
Processors & applications that do not use SSE process one data element in one instruction, a processing style called Single Instruction Single Data, or SISD. In contrast, processors having the SIMD capability have the ability to process more than one data element in one instruction. In other words the processor can work harder with the same two hands (if you get the metaphor). Using SSE requires support from the application, the operating system & the CPU.
Processors that have SSE are as follows..
Athlon XP
Duron 1 GHz & above (morgan core)
Pentium 4
Pentium 3
Celeron 566 mhz & above (coppermine & tualatin cores)
Processors that do not have SSE are as follows..
Duron 950 & below (spitfire core)
Athlon (K7, K75, & Thunderbird cores)
K6-3
K6-2
Celeron 533 MHz & below
Pentium 2
Pentium
All Via/Cyrix CPU's
Anything released before the processors listed of course does not have SSE.
Any version of Windows after '98 supports SSE (95' may just not sure). Any newer Linux distro should have support as well.
The Gromacs core also uses AMD’s 3Dnow! which was first introduced in their K6-2 CPU’s and underwent a facelift beginning with Thunderbird core Athlons & all Durons. The new version is often called 3Dnow! Professional, Extended3Dnow! and 3Dnow!+. However, this from Vijay Pande the leader of the project..
originally posted by Vijay Pande
I think the 3D-now support is minimal/none, and only 3D-now-extended is really going to give any speed up.
The Via C3 also has 3Dnow!
So what does SSE/3Dnow! do for your frame times? It depends on what processor you have. But generally, a whole damn lot. With any SSE capable chip your points will increase significantly, as much as 500%.
Why? Well Stanford has to set their point values and deadlines based on chips that do not have assembly optimizations (SSE/3Dnow!). If they didn't the chips that had no assembly ops and got Gromacs proteins would never make the deadlines. Their benchmarking machine is in fact a P2 based Celeron running at 500mhz.
Pentium 4s get an especially large boost from the Gromacs core. So much so it almost seems silly. Why do the Pentium 4’s get such a big improvement? It is not because of SSE2, Gromacs does not use SSE2..
originally posted by Vijay Pande
Gromacs does better with faster memory bandwidth (P4) and Tinker does better with faster and more complex FPUs (Athlon).
So with the new core the entire folding game has been changed. Gone are the days when MHz was just about the only thing that matters. Memory bandwidth, & onboard cache size now play a role in frame times. The above quotes are from this thread.
So you have a SSE enabled CPU and you want Gromacs all the time? No problem, all you have to do is turn on the -advmethods flag, which is done like so..
Console & GUI
First off you must be using the 3.14 client or later. Make a shortcut to the console. Right click the shortcut & select properties. The target line should look something like this
"C:\Program Files\Folding@Home\FAH3Console.exe"
All you have to do is add -advmethods to the end of that line like so.
"C:\Program Files\Folding@Home\FAH3Console.exe" -advmethods
Remember to leave the quotes in! Click Apply then click Ok. Start the client with that shortcut and your chances of receiving Gromacs proteins will be increased significantly.
Console & EMIII
Again you must be using the 3.14 client or later. EMIII is a 3rd party add-on for the Folding console. It was written & is updated by The WeatherMan, a folder for hardOCP. It can be found here. Starting with version 2.0.0 EMIII comes with support for such flags. This option has been known to be problematic however so make sure you have the latest version. Just click on the microscope in the upper left of the GUI, click your box name in the center pane, check 'use extra launch commands' and type
-advmethods
into the text box. Then click 'Save Editing' then 'Save & exit'. Restart EMIII and you should be good to go(after your current WU finishes).
This method is only for clients that EMIII starts. For other folding rigs that you monitor with EMIII use the shortcut method above. Or if setup as a scheduled tasks, add the command line switch to the 'run' box.
The -advmethods flag has a broader purpose than just giving you gromacs WU's. It is an indication to the assignment servers that your client wants to participate in the newest projects & let your computer run the newest code coming out of Stanford. Commonly called beta testing. At the time of this writing that means you'll be getting Gromacs WU's. In the future, it could mean something completely different. Also, Gromacs aren't always around! Sometimes you will get a Tinker WU here and there and other times there are no active Gromacs projects at all. During these times you'll get normal WUs just like everybody else.
Another thing you need to know about the Gromacs core is that it works your processor harder than the Tinker core did so your overclock that was stable while folding Tinker WUs may not be stable while folding Gromacs WUs. So if your processor gets a Gromacs WU and it errors, this is what you need to do. First off back your overclock off a bit and then download prime95. Run prime95's torture test for 24 hours. If it does not make it to 24 hours back your O/C off bit by bit until it does. If you CPU can pass a 24-hour prime95 torture test, it should be able to handle the Gromacs WUs without errors. Although I've personally seen CPUs that have been stable forever in prime that choke on Gromacs. So you may need to back your overclock down ever further.
Before you start folding again you need to do one more thing. You see, the guys at Stanford built a safeguard into the current client that will turn off your assembly optimizations given instability. you'll know that this has happened by looking at your log file or the command line window. If your assembly optimizations is on you should see this..
...........
[21:27:32] Looking at optimizations...
[21:27:32] Files status OK
[21:27:33] Done: 248149 -> 1325401 (decompressed 534.1 percent)
[21:27:33] - Project: 903 (Run 16, Clone 32, Gen 7)
[21:27:33] Writing local files:
[21:27:33] Assembly optimizations on if available
[21:27:33] Entering M.D.
[21:27:39] arc file found...
[21:27:39] ... and we'll restart from it.
[21:27:39] Protein: PTrpCage
[21:27:40] Writing local files
[21:27:40] Completed 158000 out of 500000 steps (31%)
[21:31:08] Writing local files
............
If your assembly optimizations are off the line highlighted in red will not be present. Assembly Ops are of course ON by default in chips that support it. Assuming you've done the prime95 stability tests above, and you're confident of the stability of your system, here is how you turn it back on. Delete the 'core.dat' file in your folding@home folder. It's as simple as that. It should turn the assembly optimizations back on when restarted.
There is also a flag you can use to force it on, that being -forceasm. If your doing this in concert with -advmethods just put it right on the end with a space in between, like so in a shortcut for Console & GUI..
"C:\Program Files\Folding@Home\FAH3Console.exe" -advmethods -forceasm
And your 'use extra launch commands' should look like this in EMIII
-advmethods -forceasm
IMPORTANT! DO NOT use the -forceasm flag if you haven't thoroughly tested your systems stability. The only time you should use this flag is when you don't really need to.
Also, your assembly optimizations will be turned off if you system is generally unstable. Like if you get a lot of lock ups, you have to do a lot of hard reboots, or you have a lot of OS crashes. If you have this problem for god's sake fix it! If you can't consider using the -forceasm flag or turning off folding when participating in whatever it is that crashes your system.
Links
The official Gromacs site
The Gromacs FAQ at Stanford
An excellent thread to help you if you are having Gromacs stability problems.
Comments & corrections welcome, thanks.
Last edited: