#1 Milkyway Optimisation, how to
Posted: Wed Nov 27, 2013 1:37 am
Go to your milkyway at home preferences in your account at milkyway. Edit preferences.
here's what I have, change yours to the same.
Maximum CPU % for graphics
0 ... 100 20
Run only the selected applications (all applications)
If no work for selected applications is available, accept work from other applications? no
Frequency (in Hz) that should try to complete individual work chunks. Higher numbers may run slower but will provide a more responsive system. Lower may be faster but more laggy.
default 60 (corresponds to 60 fps) 10
Period (in milliseconds) to check for scene updates 30
Change how fast the view randomly moves around 5
Make particles bigger or smaller 250
Make particles bigger or smaller when using uglier particles 40
after changing and saving, update project from your boinc manager. Changes should kick in on the next unit started.
You could play with the two in red to try for even faster. The freq is the main culprit. That said, changing max cpu to 100% did nothing. Changing frequency to 5 on my ATI 7970 did no better than 10, and going to 1 caused my nVidia 660ti to yoyo around from 0% to 100 % load like crazy. 10 seems to be optimum for my cards.
This should cut your time by 1/2 to 2/3rds and is the main optimisation.
Second is to overclock the card. I used afterburner but that seems to be boinc unfriendly in it's current format or at least nVidia driver unfriendly. Doing it through the catalyst center works fine.
For the ATI 7970 I ended up at 1200 Hz for the main clock and stable as anything. I downclocked the memory to 350 Hz and could probably go lower still as after testing I can say that Milkyway doesn't care about the memory. Bump the power to +20 % though or you will run into all forms of problems. Milkyway is double precision, ATI territory unless you own a titan or two, and as such pushes your cards hard when you optimise, you need the extra power and definitely high performance mode, no power saving . Downclocking the memory gives you the overhead and heat reduction to run high clock speeds. My 7970 is stable at 70 deg C.
Standard warning that you overclock at your own peril. That said as long as you watch the temperature ( dust bunnies are you're enemy... use a vacuum cleaner or a can of air to clean the cooling rads out ) and don't actually mess with the voltage control, go too far and the GPU will crash but will cause no damage. Overclocking further by increasing the core voltages etc. is at you're own risk.
Third is to create an app_config to run multiple units. The separation units are actually quite efficient but can easily run 2 on most modern cards. The flagship Milkyway units are not, pushing only 50% or so load. My 660ti's and 7970 both need at least 4 to hit high 90's. My app_config is below. This should be placed in the Milkyway project folder, under c:\ProgramData\BOINC\projects
It's normally hidden so you will need to reveal them. Organize - Folder and search options - view - show hidden files. The app_config.xml should also be made with notepad as it's not a true xml file.
<app_config>
<app>
<name>milkyway_nbody</name>
<max_concurrent>1</max_concurrent>
<gpu_versions>
<gpu_usage>1</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
<app>
<name>milkyway</name>
<max_concurrent>8</max_concurrent>
<gpu_versions>
<gpu_usage>.25</gpu_usage>
<cpu_usage>.11</cpu_usage>
</gpu_versions>
</app>
<app>
<name>milkyway_separation__modified_fit</name>
<max_concurrent>4</max_concurrent>
<gpu_versions>
<gpu_usage>..5</gpu_usage>
<cpu_usage>.12</cpu_usage>
</gpu_versions>
</app>
</app_config>
this app_config is for 2 gpu's but will work with 1 and will result in running 2 separation units concurrently or 4 milkyway or 1 separation and 2 milkyway or it will allow 1 nbody. Modify as you see fit.
here's what I have, change yours to the same.
Maximum CPU % for graphics
0 ... 100 20
Run only the selected applications (all applications)
If no work for selected applications is available, accept work from other applications? no
Frequency (in Hz) that should try to complete individual work chunks. Higher numbers may run slower but will provide a more responsive system. Lower may be faster but more laggy.
default 60 (corresponds to 60 fps) 10
Period (in milliseconds) to check for scene updates 30
Change how fast the view randomly moves around 5
Make particles bigger or smaller 250
Make particles bigger or smaller when using uglier particles 40
after changing and saving, update project from your boinc manager. Changes should kick in on the next unit started.
You could play with the two in red to try for even faster. The freq is the main culprit. That said, changing max cpu to 100% did nothing. Changing frequency to 5 on my ATI 7970 did no better than 10, and going to 1 caused my nVidia 660ti to yoyo around from 0% to 100 % load like crazy. 10 seems to be optimum for my cards.
This should cut your time by 1/2 to 2/3rds and is the main optimisation.
Second is to overclock the card. I used afterburner but that seems to be boinc unfriendly in it's current format or at least nVidia driver unfriendly. Doing it through the catalyst center works fine.
For the ATI 7970 I ended up at 1200 Hz for the main clock and stable as anything. I downclocked the memory to 350 Hz and could probably go lower still as after testing I can say that Milkyway doesn't care about the memory. Bump the power to +20 % though or you will run into all forms of problems. Milkyway is double precision, ATI territory unless you own a titan or two, and as such pushes your cards hard when you optimise, you need the extra power and definitely high performance mode, no power saving . Downclocking the memory gives you the overhead and heat reduction to run high clock speeds. My 7970 is stable at 70 deg C.
Standard warning that you overclock at your own peril. That said as long as you watch the temperature ( dust bunnies are you're enemy... use a vacuum cleaner or a can of air to clean the cooling rads out ) and don't actually mess with the voltage control, go too far and the GPU will crash but will cause no damage. Overclocking further by increasing the core voltages etc. is at you're own risk.
Third is to create an app_config to run multiple units. The separation units are actually quite efficient but can easily run 2 on most modern cards. The flagship Milkyway units are not, pushing only 50% or so load. My 660ti's and 7970 both need at least 4 to hit high 90's. My app_config is below. This should be placed in the Milkyway project folder, under c:\ProgramData\BOINC\projects
It's normally hidden so you will need to reveal them. Organize - Folder and search options - view - show hidden files. The app_config.xml should also be made with notepad as it's not a true xml file.
<app_config>
<app>
<name>milkyway_nbody</name>
<max_concurrent>1</max_concurrent>
<gpu_versions>
<gpu_usage>1</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
<app>
<name>milkyway</name>
<max_concurrent>8</max_concurrent>
<gpu_versions>
<gpu_usage>.25</gpu_usage>
<cpu_usage>.11</cpu_usage>
</gpu_versions>
</app>
<app>
<name>milkyway_separation__modified_fit</name>
<max_concurrent>4</max_concurrent>
<gpu_versions>
<gpu_usage>..5</gpu_usage>
<cpu_usage>.12</cpu_usage>
</gpu_versions>
</app>
</app_config>
this app_config is for 2 gpu's but will work with 1 and will result in running 2 separation units concurrently or 4 milkyway or 1 separation and 2 milkyway or it will allow 1 nbody. Modify as you see fit.