Lunatics' GPU app & switched users

Message boards : Number crunching : Lunatics' GPU app & switched users
Message board moderation

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
tbret
Volunteer tester
Avatar

Send message
Joined: 28 May 99
Posts: 3380
Credit: 296,162,071
RAC: 40
United States
Message 1529673 - Posted: 18 Jun 2014, 23:19:57 UTC

I have one computer, Windows 7, where it is a problem.

The Lunatics' installer readme contains this:

"Switching users can also cause the GPU app to fail [BOINC versions before
6.12.28]"

That's what is happening to me on one machine. None of the others are doing it. All are running newer than 6.12.28. In fact, I can think of nothing remarkable about this one computer.

What's my best course of action? Anyone?
ID: 1529673 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14650
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1529687 - Posted: 18 Jun 2014, 23:51:13 UTC - in response to Message 1529673.  

I did some testing with Rom Walton ready for the next version(s) of BOINC. You should find that v7.3.19 (currently linked from the download all page) is better behaved: it will be replaced by v7.4.2 sometime in the next few hours, assuming that version passes initial sanity checking - 7.4.0 and 7.4.1 didn't.

v7.3.19 has been running stable on two of my machines for the last fortnight - I think it's safe to run, despite the normal beta disclaimers with the download.

Under Windows 7, it will never be possible to continue GPU crunching uninterrupted while user switching: it's a Microsoft driver limitation - or security policy, if you prefer. The new versions of BOINC should handle it more gracefully, with a pause and recovery, rather than with the errors that were common previously.
ID: 1529687 · Report as offensive
Profile arkayn
Volunteer tester
Avatar

Send message
Joined: 14 May 99
Posts: 4438
Credit: 55,006,323
RAC: 0
United States
Message 1529704 - Posted: 19 Jun 2014, 1:36:09 UTC - in response to Message 1529687.  

I did some testing with Rom Walton ready for the next version(s) of BOINC. You should find that v7.3.19 (currently linked from the download all page) is better behaved: it will be replaced by v7.4.2 sometime in the next few hours, assuming that version passes initial sanity checking - 7.4.0 and 7.4.1 didn't.

v7.3.19 has been running stable on two of my machines for the last fortnight - I think it's safe to run, despite the normal beta disclaimers with the download.

Under Windows 7, it will never be possible to continue GPU crunching uninterrupted while user switching: it's a Microsoft driver limitation - or security policy, if you prefer. The new versions of BOINC should handle it more gracefully, with a pause and recovery, rather than with the errors that were common previously.


My little reported bug was not all that bad to a seasoned Boinc veteran.

ID: 1529704 · Report as offensive
tbret
Volunteer tester
Avatar

Send message
Joined: 28 May 99
Posts: 3380
Credit: 296,162,071
RAC: 40
United States
Message 1529716 - Posted: 19 Jun 2014, 2:54:52 UTC - in response to Message 1529687.  

You should find that v7.3.19 (currently linked from the download all page) is better behaved:



I'm giving it a try Richard. Thank you.
ID: 1529716 · Report as offensive
Fullsus

Send message
Joined: 7 Apr 08
Posts: 32
Credit: 2,737,590
RAC: 0
United Kingdom
Message 1530066 - Posted: 19 Jun 2014, 23:48:55 UTC

ID: 1530066 · Report as offensive
tbret
Volunteer tester
Avatar

Send message
Joined: 28 May 99
Posts: 3380
Credit: 296,162,071
RAC: 40
United States
Message 1530149 - Posted: 20 Jun 2014, 7:00:52 UTC - in response to Message 1530066.  

tBret,

did v7.3.19 make any difference?


Apparently not.

You know, I may not have set BOINC up correctly when I first installed it. Lately, I've accidentally dumped some 300 work units, so I don't want to uninstall and reinstall and take any more chances.
ID: 1530149 · Report as offensive
Profile William
Volunteer tester
Avatar

Send message
Joined: 14 Feb 13
Posts: 2037
Credit: 17,689,662
RAC: 0
Message 1530177 - Posted: 20 Jun 2014, 8:32:15 UTC
Last modified: 20 Jun 2014, 8:32:49 UTC

It would help if you stated the exact nature of the problem :)

That little line from the documentation refers to so called 'hot' user switching, i.e. when you use 'switch user' when already logged on into Windows.
Somebody else can talk about driver models and Windows limitations, but it boils down to this: only the user who logs in first can crunch on the GPU. Whn you switch, that bit is inaccessible to the second user. old BOINCs would just see that the GPU is missing and kill the tasks in progress. New BOINCs recognise the GPU is missing and suspend the tasks until it comes back (i.e. wehn you log back into the first account.)

So far for detailed explanation.

So, does that explain your original problem?

And after upgrading to latest recommended, what is the problem now?
A person who won't read has no advantage over one who can't read. (Mark Twain)
ID: 1530177 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14650
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1530181 - Posted: 20 Jun 2014, 8:41:11 UTC - in response to Message 1530177.  
Last modified: 20 Jun 2014, 8:46:34 UTC

It would help if you stated the exact nature of the problem :)

That little line from the documentation refers to so called 'hot' user switching, i.e. when you use 'switch user' when already logged on into Windows.
Somebody else can talk about driver models and Windows limitations, but it boils down to this: only the user who logs in first can crunch on the GPU. Whn you switch, that bit is inaccessible to the second user. old BOINCs would just see that the GPU is missing and kill the tasks in progress. New BOINCs recognise the GPU is missing and suspend the tasks until it comes back (i.e. wehn you log back into the first account.)

So far for detailed explanation.

So, does that explain your original problem?

And after upgrading to latest recommended, what is the problem now?

With the new version like v7.3.19 or later, if 'allow all users' was selected at BOINC installation time, the second user could restart BOINC in their own logon session and regain access to the GPU - but then the first user would lose GPU context until they in turn restarted BOINC.
ID: 1530181 · Report as offensive
tbret
Volunteer tester
Avatar

Send message
Joined: 28 May 99
Posts: 3380
Credit: 296,162,071
RAC: 40
United States
Message 1530322 - Posted: 20 Jun 2014, 18:33:08 UTC

This is short because I'm on my phone.

what Richard describes is exactly what is happening. Perhaps I just didn't notice before.

what I was trying to do was log on and do a hot "switch user" hoping the first log-on's processes would continue to run (as in a VM).

Since that is not "how that works" I will have to re-think my strategy.

I'm not accustomed to having to deal with multiple-user installations and this whole thing seems to be my ignorance.
ID: 1530322 · Report as offensive
tbret
Volunteer tester
Avatar

Send message
Joined: 28 May 99
Posts: 3380
Credit: 296,162,071
RAC: 40
United States
Message 1530691 - Posted: 21 Jun 2014, 22:14:44 UTC
Last modified: 21 Jun 2014, 22:23:01 UTC

Ok... I'm on a real keyboard so I thought I'd see if someone can tell me how.

There are four computers at my wife's office that now have some of my GPUs in them on a fresh install of Windows 7 Pro 64.

Those computers are connected via LogMeIn Pro so that I can run Malwarebytes, CCleaner, etc, and try to keep them in reasonable shape for the office applications that run on them.

That also allows me to get to an account I have for my access to them in the event a user gets locked-out, etc.

Now, the users won't mess with the BOINC setup I have on those accounts so I could simply put BOINC in their accounts. I will probably select the most likely long-term user and install it there. They WILL most likely change the screen saver and other personal things, so making BOINC re-start as the screen saver is probably not a good idea. I'm not in a position to tell them not to change it.

But it would be handy if I could somehow install or run or whatever BOINC from MY account and not have to install it in every account that may be on every computer, then potentially have a different user log-on for just a minute or two, then have "GPU missing" come-up and have me not notice until enough time has passed to notice the machine has stopped checking-in.

Now, I realize that all of this is a tempest in a teacup. It isn't a tragedy if some completed work units aren't returned for a few days.

It would just be nice not to have-to worry about it.

Edit: By the way, I'm not trying to "get away with" anything. My wife knows about this and while she rolls her eyes a lot she does not really care one way or the other so long as she gets "computer support" from me when she needs it.

Obviously, the support she gets from me is basic user-level stuff, but that's far beyond the staff. Sometimes I wonder how they manage to feed themselves. I guess they buy a lot of new computers for themselves.
ID: 1530691 · Report as offensive
Profile William
Volunteer tester
Avatar

Send message
Joined: 14 Feb 13
Posts: 2037
Credit: 17,689,662
RAC: 0
Message 1531207 - Posted: 23 Jun 2014, 12:36:00 UTC

hmm. tricky.

you do want a 'all users can control BOINC' install, so whoever logs in will have boinc running in the background. BOINC doesn't need to be the screensaver, in fact the screensaver uses cycles you mihgt actually want to invest into the crunching... My screen just goes blank.

But then is the question how you can get the most GPU run time out of the machines, which is basically a usage question.
And I'm not familiar with remote/logmein options and how they impact on running.

you could either go with a standard all users install, so each time a user logs on, while they are working, boinc crunches (incl. GPUs) when they log off, boinc stops. You'd want to log in yourself over night in that scenario so as not to have them idle then.

I _think_ that even if one user is logged in and you hotswitch, when the second user logs out again the first has to actively log in again for crunching to resume, but I cannot test that right now.
A person who won't read has no advantage over one who can't read. (Mark Twain)
ID: 1531207 · Report as offensive
tbret
Volunteer tester
Avatar

Send message
Joined: 28 May 99
Posts: 3380
Credit: 296,162,071
RAC: 40
United States
Message 1531534 - Posted: 24 Jun 2014, 7:53:00 UTC - in response to Message 1531207.  



I _think_ that even if one user is logged in and you hotswitch, when the second user logs out again the first has to actively log in again for crunching to resume, but I cannot test that right now.


It is as you say, but it is worse than that.

I log in and BOINC starts.

I switch users and BOINC stops.

I switch back to my account and BOINC reports missing GPUs. I have to stop BOINC and restart it and the GPUs come back.

The act of switching kills the recognition of the GPUs by the driver... or something.

There really must be a combination of scheduled task (start BOINC in the background) plus a registry hack ("There is another instance of BOINC running on this computer....select and log in") that would work.

I can (and have) installed BOINC on the primary user's account, so there should be a minimum of switching back and forth. When I say "a minimum" I mean once in a blue moon. The staff all pretty-much hang-out at their own desks.

It's really a non-tragedy, but you would think that since the OS is designed to allow for multiple users, and with an option to "allow all users to control" that this losing of the GPUs behavior would not be an issue with BOINC.

It is what it is and I'll cope, but it seems odd to a guy who doesn't understand how the applications interact with the driver. If I understood a little more the issue might seem obvious.

Thanks for thinking about it, but don't blow a fuse or anything. It's not a big deal.
ID: 1531534 · Report as offensive
Profile William
Volunteer tester
Avatar

Send message
Joined: 14 Feb 13
Posts: 2037
Credit: 17,689,662
RAC: 0
Message 1531574 - Posted: 24 Jun 2014, 9:51:11 UTC

that boinc can't see the GPUs on the second account is something to do with how windows manages the driver. Blame M$ ;)
A person who won't read has no advantage over one who can't read. (Mark Twain)
ID: 1531574 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6534
Credit: 196,805,888
RAC: 57
United States
Message 1531592 - Posted: 24 Jun 2014, 12:55:24 UTC

I would say form a programming standpoint it makes sense to remove the GPU resources from the originally logged on user. As they are no longer using it and the newly logged on user does need the GPU resources.
Until there is a way for the OS to flag a GPU as a dedicated processing resource, as well as a video one, I don't imagine this is going to work like we would want.

You could disable fast user switching on those machines and then setup BOINC to run at each user logon.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[
ID: 1531592 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1531653 - Posted: 24 Jun 2014, 16:56:02 UTC - in response to Message 1531534.  

It's really a non-tragedy, but you would think that since the OS is designed to allow for multiple users, and with an option to "allow all users to control" that this losing of the GPUs behavior would not be an issue with BOINC.

Windows uses its own built-in driver when you do the fast user-switch. This driver is compatible with just about any videocard out there and thus doesn't know, or need to know, anything about weird things such as CAL, CUDA, OpenCL, OpenGL or DirectCompute. Even its DirectX 3D support is rudimentary at best.

Windows uses this same driver when you log in with Windows Remote Desktop.

Now, BOINC makes the GPU detection decisions at start-up and then checks periodically if it can detect that Windows made this switch to its built-in driver, and if so, it will turn off access to the GPU. Windows in the mean time will change the state of the video driver that you installed from enabled to disabled. So according to a next check by BOINC, there is no GPU anymore.

When you then switch back to the original user, Windows will disable the RDP driver and re-enable the videocard driver.

That BOINC cannot turn access to the GPU back on when it detects that the built-in driver is gone, is because of the decision to only detect the GPU and drivers at BOINC start-up. Before BOINC versions would try to re-enable the GPU, but this proved to be awkward on a lot of systems and would give a lot of errors and system crashes. So the best way for BOINC to re-detect what the GPU is again and what driver, is to restart BOINC.

Perhaps that one of the script writers can make a detection script that will auto-exit and restart BOINC upon detection of the end of a fast user-switch.
ID: 1531653 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14650
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1531702 - Posted: 24 Jun 2014, 22:16:49 UTC - in response to Message 1531653.  

It's really a non-tragedy, but you would think that since the OS is designed to allow for multiple users, and with an option to "allow all users to control" that this losing of the GPUs behavior would not be an issue with BOINC.

Windows uses its own built-in driver when you do the fast user-switch. This driver is compatible with just about any videocard out there and thus doesn't know, or need to know, anything about weird things such as CAL, CUDA, OpenCL, OpenGL or DirectCompute. Even its DirectX 3D support is rudimentary at best.

Windows uses this same driver when you log in with Windows Remote Desktop.

Now, BOINC makes the GPU detection decisions at start-up and then checks periodically if it can detect that Windows made this switch to its built-in driver, and if so, it will turn off access to the GPU. Windows in the mean time will change the state of the video driver that you installed from enabled to disabled. So according to a next check by BOINC, there is no GPU anymore.

When you then switch back to the original user, Windows will disable the RDP driver and re-enable the videocard driver.

That BOINC cannot turn access to the GPU back on when it detects that the built-in driver is gone, is because of the decision to only detect the GPU and drivers at BOINC start-up. Before BOINC versions would try to re-enable the GPU, but this proved to be awkward on a lot of systems and would give a lot of errors and system crashes. So the best way for BOINC to re-detect what the GPU is again and what driver, is to restart BOINC.

Perhaps that one of the script writers can make a detection script that will auto-exit and restart BOINC upon detection of the end of a fast user-switch.

In testing with early v7.3 versions of BOINC, I found that GPU crunching resumed by itself - after a few seconds of contemplation - when the original 'boot' user regained control of the computer via a fast switch. I don't know what would happen if the second user logged out without switching back to the first user - we could test that, of course.
ID: 1531702 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1531713 - Posted: 24 Jun 2014, 23:00:19 UTC - in response to Message 1531702.  

You had to quote my whole post for that? :-/
ID: 1531713 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14650
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1531811 - Posted: 25 Jun 2014, 7:46:40 UTC - in response to Message 1531713.  

You had to quote my whole post for that? :-/

It was late in the evening, I wasn't feeling very well, and it was easier than editing it.
ID: 1531811 · Report as offensive
tbret
Volunteer tester
Avatar

Send message
Joined: 28 May 99
Posts: 3380
Credit: 296,162,071
RAC: 40
United States
Message 1531921 - Posted: 25 Jun 2014, 17:46:04 UTC - in response to Message 1531811.  


It was late in the evening, I wasn't feeling very well, and it was easier than editing it.


That's a truly great first line for a novel.
ID: 1531921 · Report as offensive
Profile Tom M
Volunteer tester

Send message
Joined: 28 Nov 02
Posts: 5124
Credit: 276,046,078
RAC: 462
Message 1537462 - Posted: 7 Jul 2014, 19:43:31 UTC - in response to Message 1531574.  

Odd. For sometime I have been logging onto my admin account, starting bonic. Then using the switch user screen to logon to my standard/limited account. And I haven't had any problems.

So maybe I am not understanding what you are saying?

Tom
A proud member of the OFA (Old Farts Association).
ID: 1537462 · Report as offensive
1 · 2 · Next

Message boards : Number crunching : Lunatics' GPU app & switched users


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.