Milkyway Optimisation, how to

Forum rules
User avatar
Alez
[ TSBT's Pirate ]
[ TSBT's Pirate ]
Posts: 10363
Joined: Thu Oct 04, 2012 1:22 pm
Location: roaming the planet

#1 Milkyway Optimisation, how to

Post by Alez »

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.
Image
The best form of help from above is a sniper on the rooftop....
User avatar
Silver
Boinc Brigadier
Boinc Brigadier
Posts: 2210
Joined: Sun Apr 14, 2013 7:09 pm
Location: Aberdeen/Anguilla

#2 Re: Milkyway Optimisation, how to

Post by Silver »

Alez :help:
I'm not sure I real understand the config files, I thought I did then I got some bsod moments :(

Am I right in thinking that the lines:
"<max_concurrent>1</max_concurrent>" and the others in the same format decide how many units can run concurently but between all the unit types.

Therefore the lines:
"<gpu_usage>1</gpu_usage>
<cpu_usage>1</cpu_usage>" control the amount of resources used. If set to .5 cpu and .5 gpu it would allow two units to run at once and share one cpu core and have 'half' the gpu each?
Image
User avatar
Alez
[ TSBT's Pirate ]
[ TSBT's Pirate ]
Posts: 10363
Joined: Thu Oct 04, 2012 1:22 pm
Location: roaming the planet

#3 Re: Milkyway Optimisation, how to

Post by Alez »

correct. Let me break it down as this is for my system ie 2 gpu's

<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>

This section controls nbody tasks. Each gpu will run one example using a full cpu core however the max concurrent means it will only run 1 task ie only 1 gpu will ever run it, the other would run something else


<app>
<name>milkyway</name>
<max_concurrent>8</max_concurrent>
<gpu_versions>
<gpu_usage>.25</gpu_usage>
<cpu_usage>.11</cpu_usage>
</gpu_versions>
</app>

This controls the normal milkyway, 4 units per gpu using .11 cpu per task ie .44 in total per gpu. the max concurrent of 8 means both gpu's can run this.


<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>

The same as for milkyway.


did you change the settings in milkyway ?. Have you overclocked ? if so set the clocks back to standard before applying this as it will push the cards far higher than running 1 unit. With this running you may also find that the BSOD is because the cpu's cores are pushed too hard. Check the cpu usage and if necessary set boinc to only run on 75% of the cores ( not 75% of the time )
Once that is sorted then overclock if you want. ( I'm not overclocking as the advantage is not really worth the extra work to get stability although I have the power set to +20 % as it is DP and that might be causing the BSOD )
Image
The best form of help from above is a sniper on the rooftop....
User avatar
Silver
Boinc Brigadier
Boinc Brigadier
Posts: 2210
Joined: Sun Apr 14, 2013 7:09 pm
Location: Aberdeen/Anguilla

#4 Re: Milkyway Optimisation, how to

Post by Silver »

Thanks Alez!

I think it was a combination of a couple of things.
I was running a slight overclock @1170MHz back to an almost stock @ 1115. Down clocked the memory to 1010Mhz - the lowest I can get it to go.

Tweaked your config file to read as follows:
"<app_config>
<app>
<name>milkyway_nbody</name>
<gpu_versions>
<gpu_usage>1</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
<app>
<name>milkyway</name>
<gpu_versions>
<gpu_usage>.5</gpu_usage>
<cpu_usage>.5</cpu_usage>
</gpu_versions>
</app>
<app>
<name>milkyway_separation__modified_fit</name>
<gpu_versions>
<gpu_usage>.5</gpu_usage>
<cpu_usage>.5</cpu_usage>
</gpu_versions>
</app>
</app_config>"

I think the thing causing the problem was I had set preferences in milkyway but only for the default location, not the home location that this computer uses :oops:
It was sending units to run on 4 cpu cores and that clashed with the core that was trying to run the gpu causing the BSOD.
Fingers crossed I'm back on track now.
If it settles down I might try and bump up towards your numbers again but try and remember that I don't have 5 cores!
Image
User avatar
Alez
[ TSBT's Pirate ]
[ TSBT's Pirate ]
Posts: 10363
Joined: Thu Oct 04, 2012 1:22 pm
Location: roaming the planet

#5 Re: Milkyway Optimisation, how to

Post by Alez »

Most of the time I always have 1 core free set in boinc to run the gpu plus windows etc. You loose a core but you gain speed and you can use the computer. At the mo running 12 units at a time on Caro and I had to set it to have 3 free cores to make the computer usable. Boinc is not very good at controlling core usage and it tries to steal core time off the cpu if the gpu setting is not 1. ie set gpu usage to .11 by the config and it will run 4 cpu tasks and try to steal the .11 ( whilst running windoze, internet etc. ). Try setting Boinc to only use 75% of available cores and I think you will find things go faster.
Image
The best form of help from above is a sniper on the rooftop....
Post Reply Previous topicNext topic

Return to “MilkyWay”