Advanced search

Message boards : Number crunching : How to download 1 task?

Author Message
Profile DoctorNow
Avatar
Send message
Joined: 18 Aug 07
Posts: 83
Credit: 122,995,082
RAC: 0
Level
Cys
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43636 - Posted: 29 May 2016 | 17:33:18 UTC
Last modified: 29 May 2016 | 17:36:07 UTC

Hi there!

I'm always getting two tasks for my GTX760 but because of the length of the long WUs, it's rarely possible that my tasks are delivered "in time" to get the perfect bonus out of it, because when one is finished, uploaded, reported and the second one has just started crunching, there is already a new task downloaded. And this one then mostly starts crunching when the time for the best bonus is almost over.
It would be better if I could get only 1 task to download and it should be exactly when the other one is finished, uploaded & reported - is that possible and how?
Probably per cc_config or app_config-file? How this would need to look?
____________
Member of BOINC@Heidelberg and ATA!

Betting Slip
Send message
Joined: 5 Jan 09
Posts: 670
Credit: 2,498,095,550
RAC: 0
Level
Phe
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43638 - Posted: 29 May 2016 | 19:11:48 UTC - in response to Message 43636.

Hi there!

I'm always getting two tasks for my GTX760 but because of the length of the long WUs, it's rarely possible that my tasks are delivered "in time" to get the perfect bonus out of it, because when one is finished, uploaded, reported and the second one has just started crunching, there is already a new task downloaded. And this one then mostly starts crunching when the time for the best bonus is almost over.
It would be better if I could get only 1 task to download and it should be exactly when the other one is finished, uploaded & reported - is that possible and how?
Probably per cc_config or app_config-file? How this would need to look?


Open BOINC Manager then Options > Computing Preferences > Computing and set "Store At Least Days Of Work to "0"
"Store Up To An Additional Days Of Work To "0"

With these settings you will only download one WU at a time.

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43645 - Posted: 29 May 2016 | 23:19:23 UTC - in response to Message 43636.
Last modified: 29 May 2016 | 23:20:25 UTC

If you're also running other projects on your CPU it might be better to set a small amount of work, for instance .1 days. Another option is to set your GPUGrid project priority to 0 (on your account page) (and have GPUGrid as your only NVidia GPU project).

Profile DoctorNow
Avatar
Send message
Joined: 18 Aug 07
Posts: 83
Credit: 122,995,082
RAC: 0
Level
Cys
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43646 - Posted: 30 May 2016 | 5:25:53 UTC

Well, these tips aren't very helpful unfortunately, but thanks anyway.
I don't want to change any settings on my cache or work distribution since changing it this drastically would definitely blow up my entire schedule, which is perfect currently.
I thought there is a way to change the download amount client-side per xml-command or something. I'm a bit experienced in that stuff, but not enough to know the entire commands etc.
Someone else any idea for this?
____________
Member of BOINC@Heidelberg and ATA!

Profile Retvari Zoltan
Avatar
Send message
Joined: 20 Jan 09
Posts: 2354
Credit: 16,375,531,916
RAC: 3,695,757
Level
Trp
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43647 - Posted: 30 May 2016 | 8:01:48 UTC - in response to Message 43646.
Last modified: 30 May 2016 | 8:55:43 UTC

I don't want to change any settings on my cache or work distribution since changing it this drastically would definitely blow up my entire schedule, which is perfect currently.
It's perfect, excluding GPUGrid.

I thought there is a way to change the download amount client-side per xml-command or something.
There's no such option on client side in the BOINC manager which directly controls the number of tasks queued, as BOINC tries to maintain the number of tasks queued by the sum of their estimated processing time, as it is thought to be a foolproof way to process & report every queued task before their deadlines. The problem is that the deadline of GPUGrid tasks is 5 days, while the quick return bonus is +50% for less than 24h and you want to achieve that on a near-miss GPU without reducing your work cache (time). Seems pretty impossible.

I'm a bit experienced in that stuff, but not enough to know the entire commands etc.
Fortunately there are some commands which control the behaviour of the BOINC manager, and a small batch program can be made to have a workaround for your problem. It won't be perfect, especially if you crunch for other GPU project(s).

Someone else any idea for this?
You should set the GPUGrid project to "No more work" in the BOINC manager GUI, and create & run a batch program which allows more work from GPUGrid only when there's less GPUGrid task on your host than the number of NVidia GPUs.
You should create a text file (for example with notepad.exe), name it like check.bat, and create a scheduled task to run this check.bat at every day repeated every 10 minutes for 1 day. Run this batch program with the highest privileges.
The batch file should look like this:

WMIC path Win32_VideoController get Name | FIND "NVIDIA" /i /c >gpunum.txt
SET /P GPUNUM= <gpunum.txt
"c:\Program Files\BOINC\boinccmd.exe" --get_tasks | find "www.gpugrid.net" /i /c >ggtasknum.txt
SET /P GGTASKNUM= <ggtasknum.txt
IF %GGTASKNUM% GEQ %GPUNUM% GOTO end
"c:\Program Files\BOINC\boinccmd.exe" --project http://www.gpugrid.net/ allowmorework
TIMEOUT 20 /nobreak
"c:\Program Files\BOINC\boinccmd.exe" --project http://www.gpugrid.net/ nomorework
:end

I haven't tried this, but it could work provided that the BOINC manager will download exactly 1 task when new work is enabled.
The 20 seconds timeout is needed to allow the BOINC manager to issue a work fetch RPC to the GPUGrid scheduler.
If it's too short then it can be changed.
If you've installed the BOINC manager to a different location, then you should change the path of the boinccmd.exe accordingly.

To start the task scheduler go to start -> control panel -> administrative tools
or start -> type taskschd.msc and press enter.

You should also set the swan_sync environmental value to 1 to make your GPU crunch a bit faster by assigning a full CPU thread to the GPUGrid app (reduce the number of CPU tasks by at least 1)
Here's how to set the SWAN_SYNC environmental variable to make the GPUGrid client use a full CPU core:
Start button ->
type systempropertiesadvanced to the search box ->
press enter, or click on the result ->
click on the "Environmental variables" button near the bottom ->
click on the "New" button near the bottom (system variables section) ->
variable name: SWAN_SYNC ->
variable value: 1 ->
click OK 3 times ->
exit BOINC manager with stopping all scientific applications ->
restart BOINC manager

Profile DoctorNow
Avatar
Send message
Joined: 18 Aug 07
Posts: 83
Credit: 122,995,082
RAC: 0
Level
Cys
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43648 - Posted: 30 May 2016 | 9:35:41 UTC - in response to Message 43647.

The problem is that the deadline of GPUGrid tasks is 5 days, while the quick return bonus is +50% for less than 24h and you want to achieve that on a near-miss GPU without reducing your work cache (time). Seems pretty impossible.

Not really impossible, but yes, I have to admit that it's sometimes already going over the 24h-bonus, but there are still tasks which are doable. I see this with a very sad eye, because - and that goes a bit off topic now:
About a year ago I bought this GTX760 to finally go into GPUGrid more intensively, while before I put it on hold because my died GTX660 had some problems with it. The work done as I started with the GTX760 was mostly done in 10-15 hours - getting the bonus with that was almost no problem. Over the months I noticed that the tasks need more and more time to finish, first 15-17, then 18-21, and now almost 24 hours.
Since I cannot buy a highend-card and also cannot afford to buy a new graphic card every year only for that (and I don't want it of course, the money is needed somewhere else), the GTX760 should do the job as long as it can. If this continues and the WUs are getting longer again I soon can get no bonus anymore anyway, so my request is probably only for a short while.

The batch file should look like this:
...

Looks promising. Will try that later the day, thanks!

You should also set the swan_sync environmental value to 1 to make your GPU crunch a bit faster by assigning a full CPU thread to the GPUGrid app (reduce the number of CPU tasks by at least 1)

I'm not sure currently but I think I have swan_sync on already, have to look later. I have always reserved a core for GPU crunching per BOINC preferences anyway. I tried swan_sync already with the old GTX660, but there was no crunching difference with that, so I doubt that I need it, but I try it also...
____________
Member of BOINC@Heidelberg and ATA!

Profile Retvari Zoltan
Avatar
Send message
Joined: 20 Jan 09
Posts: 2354
Credit: 16,375,531,916
RAC: 3,695,757
Level
Trp
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43649 - Posted: 30 May 2016 | 10:24:58 UTC - in response to Message 43648.
Last modified: 30 May 2016 | 10:30:14 UTC

The batch file should look like this:
...
Looks promising. Will try that later the day, thanks!
Here comes V2.0 which extracts the path of the BOINC installation folder from the registry, so it will work without modification even if you've installed BOINC to a non-default path:

WMIC path Win32_VideoController get Name | FIND "NVIDIA" /i /c >gpunum.txt
SET /P GPUNUM= <gpunum.txt
REG query "HKLM\SOFTWARE\Space Sciences Laboratory, U.C. Berkeley\BOINC Setup" /v INSTALLDIR | FIND "INSTALLDIR" /i >BOINCdir.txt
SET /P BOINCdir= <BOINCdir.txt
SET BOINCdir=%BOINCdir:~28%
ECHO %BOINCdir% >BOINCdir.txt
"%BOINCdir%boinccmd.exe" --get_tasks | find "www.gpugrid.net" /i /c >ggtasknum.txt
SET /P GGTASKNUM= <ggtasknum.txt
IF %GGTASKNUM% GEQ %GPUNUM% GOTO end
"%BOINCdir%boinccmd.exe" --project http://www.gpugrid.net/ allowmorework
TIMEOUT 20 /nobreak
"%BOINCdir%boinccmd.exe" --project http://www.gpugrid.net/ nomorework
:end


I'm not sure currently but I think I have swan_sync on already, have to look later. I have always reserved a core for GPU crunching per BOINC preferences anyway. I tried swan_sync already with the old GTX660, but there was no crunching difference with that, so I doubt that I need it, but I try it also...
If swan_sync would be in effect, then the CPU time & the Run time of your tasks would be the same.

Profile DoctorNow
Avatar
Send message
Joined: 18 Aug 07
Posts: 83
Credit: 122,995,082
RAC: 0
Level
Cys
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43652 - Posted: 30 May 2016 | 11:34:42 UTC - in response to Message 43649.

Here comes V2.0 which extracts the path of the BOINC installation folder from the registry, so it will work without modification even if you've installed BOINC to a non-default path:
...

Great, thank you! Will see if it works.

If swan_sync would be in effect, then the CPU time & the Run time of your tasks would be the same.

Ah, okay, didn't know that, but I see it when I compare it to your results. :-)
____________
Member of BOINC@Heidelberg and ATA!

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 43660 - Posted: 30 May 2016 | 23:03:04 UTC - in response to Message 43646.

Well, these tips aren't very helpful unfortunately, but thanks anyway.
I don't want to change any settings on my cache or work distribution since changing it this drastically would definitely blow up my entire schedule, which is perfect currently.
I thought there is a way to change the download amount client-side per xml-command or something. I'm a bit experienced in that stuff, but not enough to know the entire commands etc.
Someone else any idea for this?

> Another option is to set your GPUGrid project priority to 0 (on your account page) (and have GPUGrid as your only NVidia GPU project).

How would this option blow up your entire work schedule?

As discussed the last few days in another thread, The Berkeley folks have been asked many times for individual work queue settings for projects or even simply different settings for CPU and GPU. Apparently they don't feel it's important.

Post to thread

Message boards : Number crunching : How to download 1 task?

//