Posts by goben_2003

InfoMessage
21) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104253
Posted 2 May 2021 by goben_2003
OK, now we're sucking diesel - or diesel fumes, at any rate.

02/05/2021 16:12:11 | World Community Grid | Sending scheduler request: Project initialization.
02/05/2021 16:12:11 | World Community Grid | Requesting new tasks for CPU and Intel GPU
02/05/2021 16:12:12 | World Community Grid | Scheduler request completed: got 0 new tasks
02/05/2021 16:12:12 | World Community Grid | No tasks are available for OpenPandemics - COVID-19 - GPU
02/05/2021 16:12:12 | World Community Grid | Tasks for CPU are available, but your preferences are set to not accept them
02/05/2021 16:12:12 | World Community Grid | Tasks for NVIDIA GPU are available, but your preferences are set to not accept them
02/05/2021 16:12:12 | World Community Grid | Tasks for AMD/ATI GPU are available, but your preferences are set to not accept them
02/05/2021 16:12:12 | World Community Grid | Project requested delay of 121 seconds
02/05/2021 16:12:12 | World Community Grid | General prefs: from World Community Grid (last modified 02-May-2021 14:35:25)
02/05/2021 16:12:12 | World Community Grid | Computer location: home
02/05/2021 16:14:15 | World Community Grid | Sending scheduler request: To fetch work.
02/05/2021 16:14:15 | World Community Grid | Requesting new tasks for Intel GPU
02/05/2021 16:14:15 | World Community Grid | [sched_op] CPU work request: 0.00 seconds; 0.00 devices
02/05/2021 16:14:15 | World Community Grid | [sched_op] Intel GPU work request: 9504.00 seconds; 1.00 devices
02/05/2021 16:14:16 | World Community Grid | Scheduler request completed: got 0 new tasks
So far, so bad. I'll keep trying a few different combinations.

This is a combination I had not tried: only having intel GPU enabled, not CPU or NVIDIA or AMD/ATI.
22) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104244
Posted 2 May 2021 by goben_2003
(All the following is related to a machine with just 1 gpu: intel_gpu with no_cpu set to 1 in the preferences.)

I've never used the simulator, except in its web-interface form. It often lags behind the master code: I had a problem involving an app_config.xml file, but I couldn't include it in the simulation run. That was added to the input page, but my next problem seemed to involve the use of two app_config.xml files. And so on. But if you can overcome those constraints by building locally, it may give you some insights. NB - it can't simulate the server response "... reached a limit on tasks in progress".

I realize it can't actually simulate reasons to not return work like the server not having the task in the feeder, or "... reached a limit on tasks in progress", etc. I think what I meant was if the simulator shows tasks being received, then does it mean that the intel_gpu not getting any tasks probably is not a problem with the client or its config. That is leaving out the app_config.xml from the simulator though.

On the server side, your description is fine. But be aware it leaves out the dimension of time. For your req_seconds, the scheduler picks one candidate task, locks it, and performs a number of checks to see if it's right for your machine. If it is, it's assigned to you, added to a buffer, and the whole process starts again. Adding multiple tasks to the buffer - sequentially - takes time, and is optimised as far as possible.

The main optimisation is the use of a 'feeder'. The feeder preforms all the database lookups to populate a small pool of available tasks for allocation. On small projects, that pool contains maybe 100 or 200 tasks at a time, and is held in the fastest-access memory available. I shudder to think how many may be needed for WCG in this mode! That single pool has to be used by every scheduler instance currently running (multiple requests are processed in parallel). So, while your scheduler is plodding through your request, other schedulers are fishing in the same pool. For a non-trivial request, it's entirely possible for the feeder pool to have been emptied before your scheduler has found enough compatible tasks to add up to your request quantum. You'll get a reply comprising less work than you asked for, and you ask again a couple of minutes later. By which time, the feeder pool will have been emptied and refilled many times over (I think the usual cycle time is 2 seconds).

I agree with this for individual requests. However, it can and has gone hundreds of requests in a row without receiving any tasks, in fact it has never received intel_gpu tasks while cpu tasks are disabled on the profile page. Then with changing just one of the following:
1. modify the profile for the machine on the wcg website to allow cpu tasks
2. modify the the account_ file to have no_cpu set to 0
3. remove the if anonymous_platform so that it always sets work_req_seconds to the highest req_secs of the coprocessors. work_fetch.cpp
Changing any 1 of those 3 results in receiving tasks a few on each request until the limit is reached (cache or the profile max tasks for OPN)

That may even account for the missing intel_gpu tasks on its own. As we saw, your request is processed device by device - NV, AND, Intel (in that order). The intel_gpu is most likely to hit 'empty feeder syndrome'. Look back at my summary log (message 104231) - does that explanation fit?

It may for the machines with multiple gpus that we discussed earlier. I think that it does not fit for machines with only 1 gpu which is an intel_gpu.

All this to say that all the investigations I have done point to it probably being a wcg boinc server specific problem instead of a mainline boinc client/server problem. I am open to hearing your thoughts if you disagree though. I know you have spent a lot more time over the years with boinc internals than I have since I only started looking into when this issue occurred.
23) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104242
Posted 2 May 2021 by goben_2003
It's not necessarily as bad as that. I found a problem with another project earlier this year, and their response when I pointed it out to them was along the lines of "we maintain our own separate version of the server code, except for the scheduler, where we've brought in the latest version as a complete replacement" (or words to that effect - I'm relying on memory).

All the issues we've discussed have been related to the scheduler, and It's entirely possible that WCG will have done something similar. It's unlikely that they will have written an entirely separate replacement: as you and I have found, it's fiendishly complicated, and I think even experienced coders like Bruce have refrained from meddling as much as possible. The BOINC code is the best guide we've got, and it's likely to be pretty close - it has to be compatible with the requests from the newest clients, at the very least.

It is true that it was not really a waste of time. I learned a lot about the boinc client and scheduling code.
It definitely is fiendishly complicated though. I have not found a way(with the current code) yet for it to not schedule a work request given the sched_request file given that would schedule it with everything else being the same other than work_req_seconds > 0.
If I am following the code properly:
work_req_seconds is not used very much, It it is used to set the value of g_request->work_req_seconds and from that g_wreq->seconds_to_fill. All the places that I see that use either of those should also give work given that a coprocessor was included in the sched_request_ file. The coprocessor should have g_wreq->rsc_spec_request set to true and g_wreq->need_proc_type(i) return true with having the coprocessor with req_secs > 0.
24) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104241
Posted 2 May 2021 by goben_2003
I am trying out the boinc client simulator(locally compiled). I have not used the client simulator before. Should work_fetch be accurate for it if the server was running the current code and had tasks available(as should be the case during this stress test)?
Also, should all the log flags in cc_config.xml take effect with the simulator? Specifically sched_op_debug and work_fetch_debug.
25) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104235
Posted 1 May 2021 by goben_2003
Thereby hangs a very nasty tale. This machine actually reports
<coproc_cuda>
   <count>2</count>
   <name>GeForce GTX 1660 SUPER</name>
but in practice it's got one 1660 and one 1650. Left to its own devices, the 1650 would be idle, but you can wake it up with <use_all_gpus>1</use_all_gpus> in cc_config.xml

Having two different cards, but only reporting the characteristics of the 'better' one, causes real problems. If the 'smaller' one has less memory, or can't do double precision, or is pre-OpenCL v1.2, the server will still send impossible tasks, and the client will still try to run them (unless you exclude that project on that GPU, also in cc_config.xml).

I went to the 2014 BOINC workshop in Budapest (my local low-cost airline happened to fly direct to Hungary from the airport just up the road, on the right day of the week both out and back. I could hardly pass that one up!), and I heard the 'historical summary' talk David Anderson gave that year. I heard him say that the decision not to separately identify GPUs was a mistake, in hindsight. I don't think either the text or a recording of that talk is available in the public domain, but the slides can be downloaded from https://boinc.berkeley.edu/trac/attachment/wiki/WorkShop14/workshop_14.pdf. Slide 52 was on screen as he said that: "Reflections on software: things we need to change - Coprocessor model". But nobody has.

Very interesting. Also, I agree on it being hard to pass up the opportunity!

In pulling out that summary, I deleted all the references to "Server version 701". In theory, that dates back to 2013 or even earlier - almost as old as Einstein's! - but I suspect that in reality, they've forked off the mainline and done their own tweaks.

I guess that means all the time I spent looking at the current code was semi pointless. Oh well, at least I was amused by all the messages between Bruce and David in the code. :)

Also, I guess that even if I went back through git to ~2013, that it still would not be representative since the WCG specific tweaks are unknown. There is no "ifdef WORLD_COMMUNITY_GRID"(or _WCG) in the scheduler code like there is for einstein.
Which I guess go back to is this a boinc issue or a WCG specific issue and getting the attention of one of the WCG admins to look into these issues. Meaning:
(1) Not sending intel gpu work if (a)it is the only gpu and (b) cpu computing is disabled
(My machine with only an intel GPU is back down to 0 GPU tasks running stock boinc and cpu computing disabled in preferences)
(2) Uneven distribution of work between coprocessor types

Unless you have any other ideas of things to look at?

Oh, and by the way, my machine with 1 NV and 1 intel GPU is up to 50 NV tasks and 96(!) intel GPU tasks. That is stock boinc and cpu computing disabled in preferences. It only stopped at 96 due to cache size. I had raised the cache to see how high it would go. I am tempted to raise the cache a bit more just to see if it stops at 100. However, the time estimates are way off, so it will have trouble completing them before the new 3 day deadline.[/list]
26) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104233
Posted 1 May 2021 by goben_2003
I can empathize with the head spinning. I have been looking through the code quite a bit. In doing so, I came up with a question that I cannot check myself. I do not have a machine with multiple of the same type of gpu. So I have a question for you about your sched_request:
Are there 2 Nvidia coprocessors listed with count set to 1 each or 1 listed with count set to 2? Or something else? Meaning 2 of:
<coproc_cuda>
   <count>1</count>

or 1 of
<coproc_cuda>
   <count>2</count>

or something else?
27) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104229
Posted 1 May 2021 by goben_2003
Ah ok. Yes, I misread that. It would be interesting to know if the client is only requesting nvidia since presumably they have their cache set high enough for 150 NV or if the client is requesting all of them and the WCG server sends for the NV GPU until: the 50 per GPU or the req_secs is reached.
Mine is behaving a little differently. I'm working at a Windows machine, with WCG enabled for NV (x2) and Intel_gpu, but not for CPU. It's also got work for other projects, but I'm not fetching from them at the moment. I'm stable at 120 tasks: 8 WCG for intel, 12 from other projects, and thus 100 for NV - and it says "This computer has reached a limit on tasks in progress". Which is what the book says, but not what's been reported.

Interesting. That is different than what has been reported.
Mine is also behaving differently. In case you find it interesting, here is what I have seen on my machine with NV x1 + intel GPU with CPU disabled:
The intel seems to be first for it. Right now, it has 48 NV(10 currently running) + 56 Intel(1 currently running). The last scheduler request reported 1 NV and received 2 intel.
While typing it, another scheduler request happened: 1 NV reported and received 3 NV. That brought it up to 50 NV + 56 Intel.
The one after that was 3NV reported, 2 NV + 1 intel received, bringing it to 49 NV + 57 intel.
The next was 1NV reported, 2NV received, bringing NV back to 50 and still having 57 intel.

Meanwhile, see what you think of https://boinc.berkeley.edu/trac/wiki/ProjectOptions#Joblimits. That's the instruction manual for server operators. It's not bang up to date, but four of the last five changes have been made by Kevin Reed - another of the WCG admins - so I guess they're paying attention. Neither that section ('Job limits'), not the next section down ('Job limits (advanced)') seems to allow them to set different limits for different classes of GPU - so, "All GPUs are created equal". ???

Interesting. I would guess they are using the advanced job limits. Something along the lines of:
<app>
		<app_name>opng</app_name>
		<total_limit>
			<jobs>200</jobs>
		</total_limit>
		<gpu_limit>
			<jobs>50</jobs>
			<per_proc/>
		<zgpu_limit>
</app>

I agree, it does not seem like it allows them to set different limits for different classes of GPU. I tend to think that part should be handled on the server side. While the user could try set their cache so that it is distributed more fairly, that would have to be redone whenever the app changed enough to change the ratio in estimate per job per cpu type. Not that the estimate is accurate. On my machine with 1 NV and 1 intel GPU, BOINC estimates 19:26 for the NV and 15:54 for the intel. The NV is close enough to accurate now that the runtimes are longer, but the intel is way off. Which is one reason I think that part is something that should be handled on the server side.
28) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104225
Posted 1 May 2021 by goben_2003
IIRC, the limit is 50 per GPU with a max of 200 per machine. People with multiple GPUs have pointed that out before.
Yes, we've got that one sorted. But I was drawing attention to "gets up to 150 NV wu's" in the post I quoted. He shouldn't have space for 150 tasks for a single NV GPU if they were allocated strictly '50 for the NV, 50 for the ATI, 50 for the APU'. It seems to '150 in total - first come, first served' - that's the effect we're chasing ("Why are there none left for tail-end Charlie?").

Ah ok. Yes, I misread that. It would be interesting to know if the client is only requesting nvidia since presumably they have their cache set high enough for 150 NV or if the client is requesting all of them and the WCG server sends for the NV GPU until: the 50 per GPU or the req_secs is reached.

If I am interpreting the code properly, the settings are sent with every sched_reply. The account_[WCG] file is overwritten if "project->gui_urls != old_gui_urls || update_project_prefs". update_projects_prefs is set if the venue has changed or if the sent project settings are different from the current project settings. See cs_scheduler.cpp
The alternative way of reading that is "don't send the settings if nothing's changed". I must have changed mine on Wednesday, but not since. They probably haven't considered the case of "user modified client record, so now it's different from what the server remembered" - maybe that's the mis-match that prompts your send.

I said it the way that I did because the server(WCG server at least) seems to send the settings with every sched_reply. At least that is what I take from them always being in the sched_reply file regardless of whether the settings have changed.
So, "don't save the settings if nothing's changed" instead of "don't send the settings if nothing's changed"
29) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104222
Posted 1 May 2021 by goben_2003
The interesting question is "why do we have separate lines for <work_req_seconds> and <cpu_req_seconds>?".
The 'historical legacy' answer seems to hold up.

David Jan 10 2009
- client: work_req_seconds is CPU req, not max(CPU req, CUDA req).

My 'account_[WCG]' file still has a datestamp of 28 April - so it's not re-written every time. Probably only when the setting on the server has changed.

If I am interpreting the code properly, the settings are sent with every sched_reply. The account_[WCG] file is overwritten if "project->gui_urls != old_gui_urls || update_project_prefs". update_projects_prefs is set if the venue has changed or if the sent project settings are different from the current project settings. See cs_scheduler.cpp
30) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104221
Posted 1 May 2021 by goben_2003
if project is anonymous platform, set the overall work req to the max of the requests of resource types for which we have versions. Otherwise projects with old schedulers won't send us work.

I am guessing that WCG falls under the projects with old schedulers even though it is not anonymous_platform.

This seems to be held up by the results of my testing. If work_req_seconds is set to the highest of req_secs, then WCG correctly sends iGPU work units. This is without using the locally modified account_ file.
31) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104220
Posted 1 May 2021 by goben_2003
The interesting question is "why do we have separate lines for <work_req_seconds> and <cpu_req_seconds>?". For the project where I get my CPU tasks from, both are populated, and identical to the microsecond.

I suspect the answer may be historical: when BOINC was first written, there was only one possible sort of work (GPUs couldn't compute), and maybe the wording was changed in newer servers? The alternative may (and probably should) have been retained for backward compatibility.

I'll add that to my code reading list ('blame' is useful in these situations). The other thing I'll look at is the timing evidence from the modification datestamp on the various files - notably, request/reply and the account file.

Yes, legacy as you pointed out. It appears to be related to the anonymous computing platform. It is in work_fetch.cpp
If project is anonymous_platform, then it sets work_req_seconds to the highest of the req_secs.
if project is anonymous platform, set the overall work req to the max of the requests of resource types for which we have versions. Otherwise projects with old schedulers won't send us work.

I am guessing that WCG falls under the projects with old schedulers even though it is not anonymous_platform.

Edit - interesting post at https://www.worldcommunitygrid.org/forums/wcg/viewthread_thread,43386_offset,570#657527:

Just mentioned that my GPU cruncher with 1660 Super, 280X and A12-9800 APU gets up to 150 NV wu's and almost non for the ATI/AMD. That's no real problem because I can handle this with a second Boinc instance.
With a 50 per GPU limit, is the limit being applied globally? Does the NVidia card get all 150, and leave no quota for the other two? That makes some sense, because NVidia was the first GPU type to be handled by BOINC, followed by AMD and finally Intel. The requests are almost certainly handled in that order in the server code, but I'll check.

IIRC, the limit is 50 per GPU with a max of 200 per machine. People with multiple GPUs have pointed that out before.[url][/url]
32) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104217
Posted 1 May 2021 by goben_2003
So I saved the work request from using the account_ file from the server and then using the locally modified account_ file.
It looks like the only significant difference is:
non modified:
scheduler request -> work_req_seconds is 0
scheduler request -> cpu_req_seconds is 0

modified:
scheduler request -> work_req_seconds is >0
scheduler request -> cpu_req_seconds is >0

both have:
coproc_intel_gpu->req_secs >0

I think the next thing that would be interesting is if scheduler request -> work_req_seconds was >0 and scheduler request -> cpu_req_seconds = 0.
If so, I would take it as a client issue.
If not, I would take it as a server issue.

Do you have any thoughts/ideas?
33) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104210
Posted 30 Apr 2021 by goben_2003
Would it be correct to say that if I get it to use the locally modified account_ file and it starts getting the intel gpu tasks that it may be an issue with the client?
I think it would be fair to say that if you got it to work - we don't know what the heck will happen! Your mission, should you choose to accept it, is to ...

I'm not getting the feeling that this is a client problem. You're getting the right sort of figures for 'work request' in the event log, and I think we'd have noticed by now if those figures didn't also appear in sched_request (though that's something you could check). The problem seems to happen after you send the request, and before you get the reply - and the only thing between those two events is the server.

I did get it to work using the locally modified account_ file. What was changed:
no_cpu was changed from 0 to 1
app_id 92 was removed from apps_selected. opn1=92

I will have to revert to the account_ file and check the sched_request file.
34) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104206
Posted 30 Apr 2021 by goben_2003
Would it be correct to say that if I get it to use the locally modified account_ file and it starts getting the intel gpu tasks that it may be an issue with the client?
35) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104203
Posted 30 Apr 2021 by goben_2003
Yes, that should be possible - for testing, at least. But I think it might only work once: it can only have reached your machine via a scheduler request/reply, and it might be repeated in all subsequent replies. Have a look in sched_reply_[WCG].xml (root of BOINC data folder), and see what you can find in there.

It might be safest to stop the client before making that change, and see what happens on restart.

The value to use for 'no restriction' in BOINC is undefined. Sometimes, David has used 0, and sometimes he's used -1. There's even one file where he's used both within 15 lines of code. [https://github.com/BOINC/boinc/blob/master/lib/common_defs.h#L86]. I think he flipped somewhere around 2015, so 'recent' changes like this one (2016) probably use -1, if it's defined at all. I'll look.

The information from the account_ file is in the sched_reply file, which gets overwritten during each schedule request.
So far I have not gotten it to use the changes. It seems to get overwritten on startup when it contacts the project for prefs.
36) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104201
Posted 30 Apr 2021 by goben_2003
If it was not clear earlier in the thread. There is only one thing I change in the project preferences to switch between getting the intel GPU tasks and not getting the intel GPU tasks:
"Allow research to run on my CPU?"
When set to No -> No gpu tasks are received
When set to Yes-> intel gpu tasks are received
I think that is possibly a specific WCG problem with the implementation of those controls: their way of transferring those choices from the web site to the scheduler will be unique to them (because their website is unique). But I still intend to look through the generic BOINC server code when I get a chance, but it'll be slow - I have open diagnosis calls to both Einstein and CPDN on the go at the moment.

Edit - ah, I'd forgotten that WCG also has a user selection for 'max tasks in progress'. That's another complication: I was going to say 'unique to WCG', but I've recently seen it on 'traditional' BOINC projects too. It'll be a thread on this board - can anyone remind me while I finish breakfast?

OK, you can stop looking: message 103817

OK, if it may be WCG specific, I will post there outlining the issue.

For the max tasks:
Yes, they do have that setting. I only run into it if the cache size is set higher than what the max tasks will allow.
In case it is interesting, setting "OpenPandemics - COVID-19" under "Project Limits" on the profile page results in this in the account_www.worldcommunitygrid.org.xml file.
  <limited_app>
    <limited_app_id>92</limited_app_id>
    <limited_app_max_in_progress>25</limited_app_max_in_progress>
  </limited_app>
  <limited_app>
    <limited_app_id>94</limited_app_id>
    <limited_app_max_in_progress>25</limited_app_max_in_progress>
  </limited_app>


Is there a way for me to edit this file and have BOINC use it to test having OPN1(I think 92) set to 1 and OPNG(I think 94) still set to 25? Just for testing to be able give more info to the WCG people. That way it could have CPU enabled but only get a max of 1 task at a time. Unless something (maybe "-1"?) could be put in to mean no tasks. Or probably better to remove 92 from:
    <apps_selected>
      <app_id>92</app_id>
      <app_id>94</app_id>
      <app_id>82</app_id>
    </apps_selected>

OK, got it.

Then I'm at a loss, and I do not have any more ideas to come up with. :-(

It is ok. :)
I mostly am trying to pin down where the issue is so that it is more likely to get fixed.
37) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104197
Posted 30 Apr 2021 by goben_2003

Yes, I have all 4 settings under Graphics Card Usage to Yes. Meaning:
Graphics Card Usage
Do work on my graphics card while computer is in use? Yes
Use my AMD/ATI graphics card if possible: Yes
Use my Intel graphics card if possible: Yes
Use my NVIDIA graphics card if possible: Yes

If it was not clear earlier in the thread. There is only one thing I change in the project preferences to switch between getting the intel GPU tasks and not getting the intel GPU tasks:
"Allow research to run on my CPU?"
When set to No -> No gpu tasks are received
When set to Yes-> intel gpu tasks are received

OK!
Also early on in the BETA, both Richard and I found it very hard to start getting any iGPU tasks at one point. What we did then, was to set the
settings in BOINC for "Store at least" and "Store up to an additional" to very low numbers. "Store at least" to 0.05 or 0.10 days, and "Store up to an additional" to 0.01 days.
Then tasks for the iGPU started to flow. After it started working then it was possible to increase those numbers.

Edit, added: But then of course iGPU tasks is not something you get at every request, since WCG has the strange idea that iGPU must be matched with another iGPU.
There's a lot fewer iGPU's than NVIDIA and AMD by the looks of things.
Same for NVIDIA and AMD. They must be matched with the same device type,

The thing is that I do not find it hard to get iGPU units. I always get them (up until the max # I have set) when CPU is enabled. When CPU is disabled I never get them. This is the case whether I have set 0.25+0.05 days or 0.75+0.75 days. If I have it set really low, like 0.10+0.01 days, this still occurs(other than being up until it gets to 0.11 days instead of the max # of tasks I have set for opn since the igpu takes a while to complete each igpu task.)
Thus I take this as a server side issue. Please note that I only discovered this trying to replicate the problem that another wcg user was having getting iGPU units on his machine that only had an iGPU. This is because I only had CPU set to No on my machine with the nvidia + intel.
Edit: changed "to run" to "to complete each igpu task"
38) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104195
Posted 30 Apr 2021 by goben_2003
I have absolutely no problems getting iGPU tasks. I have always had CPU tasks set to NO.

I have one iGPU, and one discrete GTX980 in the same computer, and I have tested to set even the GTX980 (NVIDIA) to NO, and keep the iGPU to YES. No problems getting tasks for the iGPU then either.
I tried the other way around too, and no problems getting tasks for NVIDIA.

So, in my case, CPU NO, and NVIDIA and iGPU to YES, delivers what both GPU's want. (even if I have no AMD GPU, I have AMD set to YES also)

Hi Grumpy_Swede, good to see you over here too! :)
I am only able to reproduce this issue when the iGPU is the only GPU that the machine has.

The same goben. I've been here on the BOINC site for a long time.

Have you set all GPU settings to YES, even if you don't have any NVIDIA or AMD GPU's in that computer?
Early in BETA Uplinger mentioned something about that.

Yes, I have all 4 settings under Graphics Card Usage to Yes. Meaning:
Graphics Card Usage
Do work on my graphics card while computer is in use? Yes
Use my AMD/ATI graphics card if possible: Yes
Use my Intel graphics card if possible: Yes
Use my NVIDIA graphics card if possible: Yes

If it was not clear earlier in the thread. There is only one thing I change in the project preferences to switch between getting the intel GPU tasks and not getting the intel GPU tasks:
"Allow research to run on my CPU?"
When set to No -> No gpu tasks are received
When set to Yes-> intel gpu tasks are received
39) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104193
Posted 30 Apr 2021 by goben_2003
I have absolutely no problems getting iGPU tasks. I have always had CPU tasks set to NO.

I have one iGPU, and one discrete GTX980 in the same computer, and I have tested to set even the GTX980 (NVIDIA) to NO, and keep the iGPU to YES. No problems getting tasks for the iGPU then either.
I tried the other way around too, and no problems getting tasks for NVIDIA.

So, in my case, CPU NO, and NVIDIA and iGPU to YES, delivers what both GPU's want. (even if I have no AMD GPU, I have AMD set to YES also)

Hi Grumpy_Swede, good to see you over here too! :)
I am only able to reproduce this issue when the iGPU is the only GPU that the machine has.

No issues getting iGPU units on other machines. In fact the nvidia + intel gpu machine (which has cpu disabled) somehow got 59 intel gpu tasks.
40) Message boards : Questions and problems : GPU not receiving tasks when CPU computing disabled
Message 104192
Posted 30 Apr 2021 by goben_2003
I have absolutely no problems getting iGPU tasks. I have always had CPU tasks set to NO.

I have one iGPU, and one discrete GTX980 in the same computer, and I have tested to set even the GTX980 (NVIDIA) to NO, and keep the iGPU to YES. No problems getting tasks for the iGPU then either.
I tried the other way around too, and no problems getting tasks for NVIDIA.

So, in my case, CPU NO, and NVIDIA and iGPU to YES, delivers what both GPU's want. (even if I have no AMD GPU, I have AMD set to YES also)

Hi Grumpy_Swede, good to see you over here too! :)
I am only able to reproduce this issue when the iGPU is the only GPU that the machine has.
Previous 20 · Next 20

Copyright © 2025 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.