On my main host, I run a bunch of All-Sky GPU tasks, and have enough threads left over to run a bunch of Gamma-Ray CPU tasks.
Normally BOINC seems to know that the GPU tasks as more important than the CPU tasks, but recently I have seen behaviour where the GPU tasks will be "Waiting to run" while the rest of my allocated threads are sent to more CPU tasks.
This is bad not only because I want to prioritize All Sky as it is worth more (and GWs are cool), but because this resets the GPU task staggering, requiring me to set it up again.
Is there a way to prioritize GPU task threads, so that a certain number of threads are dedicated to them only? Even if the CPU tasks I have downloaded are in danger of going over the deadline, I still want a certain number of threads dedicated to GPU tasks.
Copyright © 2024 Einstein@Home. All rights reserved.
The third party application
)
The third party application Process Lasso has somewhat extensive faclities to customize things by application. In particular you can set applications only to run on particular CPUs, and you can set priorities that differ by application.
The results may not always be those you expect, so careful experimentation is rewarded.
I have run it for years now.
my sidebar suggestion is to
)
my sidebar suggestion is to not bother with task staggering. it might help initially, but the phasing will ebb and flow naturally, so unless you're constantly correcting it, it wont matter in the long run, and it will all even itself out.
you can limit the number of concurrent gamma ray CPU tasks by using the app_config.xml file with a subproject-specific <max_concurrent> setting.
_________________________________________________________________________
Yeah, the phase does change
)
Yeah, the phase does change over time for sure, but at least on my machine it can take up to a day to fully "randomize", so if all of the GPU tasks start off at the same time, I like to at least stagger one task on each GPU to help it along. But you are right, it doesn't matter in the long run.
And thanks for the app config suggestion, that is exactly what I was looking for, not sure why I didn't think of that.
Now I have another
)
Now I have another problem.
I think BOINC is underestimating the time it takes my CPU to finish a Gamma-Ray task, and is sending many of these tasks, so much so that it fills the maximum task cache size and now no more GW tasks are being downloaded.
There doesn't seem to be a way to limit the number of tasks downloaded for a specific app, but it would be nice if I could do that.
Maybe try running two
)
Maybe try running two boinc instances: one for gpu and the other for cpu without resorting to using <max_concurrent> flag?
There was a report about an issue when using <max_concurrent> flag as posted here. Maybe it could have been fixed in the latest version but worth checking out if this is related.
taketwicedailey wrote: Now I
)
A known BOINC problem when mixing cpu and gpu applications in the same project. The best workaround I know of is to set the cache size really small - I use 0.3 day + 0.1 day. My O3AS gpu tasks show 75 minutes estimated but run in 18 minutes, meanwhile BRP4G cpu tasks show 4:40 estimated but (typically) run 5:30. It's a BOINC thing... estimating based on "computation size" and being unaware of the difference between gpu and cpu capabilities. The estimator is pulled in opposite directions, gpu tasks finish faster and cpu slower, and constantly "hunts" for a compromize. As you've noted, with a typical cache size the "underestimated" cpu tasks dominate and tend to crowd out the gpu work.
This could very well be the
)
This could very well be the issue, as this was reportedly fixed in BOINC version 7.20 and I am running 7.18.
The only reason I haven't gone to the version 8 of BOINC is that their page still recommends 7.4 for Linux x86. Anyone upgrade beyond 7.18 on Ubuntu Linux x86? If so, where did you download it and how did you install it?
taketwicedailey wrote: This
)
I use the 64 bit version and do it this way---I have Ubuntu on one of my pc's and it's running Boinc ver 7.24.1 and I got to there from 7.16 by opening the Synaptic Package Manager, it's the list of programs, and clicking the search box on the top right and typing boinc and pressing the enter key. It comes up with a list of boinc related stuff that you click to check to then install. On that pc I have boinc, boinc-client, boinc-client-nvidia-cuda, boinc-manager, boinc-virtualbox, libboinc-app7 and libboinc7 checked and then I go up top and click to Apply and it does it.
It shows the installed version AND the upgradable version on the same line and Version 8.02 JUST showed up on the list as upgrades to Apply if I wish, I'm not doing that right now but will at some point as all of my Windows pc's are already there.
Hmmm, did as you say, but all
)
Hmmm, did as you say, but all of the related boinc packages list the latest version as 7.18.1 for me.
taketwicedailey wrote: Hmmm,
)
I wonder if that's because you said you are using the 32bit version of Boinc and I believe they've stopped development on it and are only doing any required problem fixes now.