Message boards : Number crunching : How to download 1 task?
Author | Message |
---|---|
Hi there! | |
ID: 43636 | Rating: 0 | rate: / Reply Quote | |
Hi there! 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. | |
ID: 43638 | Rating: 0 | rate: / Reply Quote | |
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). | |
ID: 43645 | Rating: 0 | rate: / Reply Quote | |
Well, these tips aren't very helpful unfortunately, but thanks anyway. | |
ID: 43646 | Rating: 0 | rate: / Reply Quote | |
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 | |
ID: 43647 | Rating: 0 | rate: / Reply Quote | |
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! | |
ID: 43648 | Rating: 0 | rate: / Reply Quote | |
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:The batch file should look like this:Looks promising. Will try that later the day, thanks! 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. | |
ID: 43649 | Rating: 0 | rate: / Reply Quote | |
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! | |
ID: 43652 | Rating: 0 | rate: / Reply Quote | |
Well, these tips aren't very helpful unfortunately, but thanks anyway. > 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. | |
ID: 43660 | Rating: 0 | rate: / Reply Quote | |
Message boards : Number crunching : How to download 1 task?