GPU stopped due to quad core task

Message boards : BOINC client : GPU stopped due to quad core task
Message board moderation

To post messages, you must log in.

AuthorMessage
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 94
United Kingdom
Message 86156 - Posted: 9 May 2018, 12:14:00 UTC
Last modified: 9 May 2018, 12:29:33 UTC

I have Einstein running on my GPU. This uses "1 CPU + 1 AMD GPU".
I also have Milkyway running on my quad core CPU. Often I get nbody tasks which are quad core. They use "4C".
When both of these try to run at once, they don't. The GPU is stopped and does nothing, sitting there idle. I'd much prefer the GPU ran and stole some CPU cycles from the 4C task.

I thought about adjusting the Einstein tasks to say they only needed say 0.9C, but that would screw up in another situation. When Asteroids (4 of 1 core tasks) is running, and Einstein runs, it takes 1 of the 4 Asteroid tasks off, so there's a core free to assist the GPU Einstein task. I want that to still happen.

Is there a way I can tell Milkyway never to give me more than 3-core tasks?
ID: 86156 · Report as offensive
mmonnin

Send message
Joined: 1 Jul 16
Posts: 112
United States
Message 86162 - Posted: 9 May 2018, 13:59:07 UTC - in response to Message 86156.  

Make an app_config file to run 0.5 CPU and 1 GPU or MW to use 3 CPUs. You have 4 CPUs total so 4 CPU tasks cannot run along side a GPU task that also requires 1 CPU for a total of 5.
ID: 86162 · Report as offensive
Profile Ageless
Volunteer moderator
Project administrator
Avatar

Send message
Joined: 29 Aug 05
Posts: 13123
Netherlands
Message 86165 - Posted: 9 May 2018, 14:41:44 UTC - in response to Message 86156.  
Last modified: 9 May 2018, 18:20:15 UTC

nBody tasks are as far as I know multi-threaded, so they will take all of the CPU cores that the hardware has, no matter how many you specify BOINC can use (be it through preferences or app_config.xml file).
Einstein tasks run on the GPU require a full CPU core, because they do part of the calculations on the CPU. Trying to set Einstein to use less CPU through an app_config.xml file will also result in it pausing. Until a full core is freed up again.

If you do not want to run nBody tasks from Milkyway, specify that via their project preferences
(Edit them, uncheck MilkyWay@Home N-Body Simulation, save preferences)
Jord
Please do not private message me for tech support. Use the forums for that. Tech PMs will be ignored!
ID: 86165 · Report as offensive
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 94
United Kingdom
Message 86166 - Posted: 9 May 2018, 14:45:49 UTC - in response to Message 86165.  

I've temporarily disabled nbody for the computer with the graphics card (my other computers don't have graphics cards).

But there must be some way to tell Milkyway to send me 2 core or 3 core nbody tasks? Then they could run concurrently with Einstein GPU tasks.
ID: 86166 · Report as offensive
Profile Ageless
Volunteer moderator
Project administrator
Avatar

Send message
Joined: 29 Aug 05
Posts: 13123
Netherlands
Message 86167 - Posted: 9 May 2018, 15:26:17 UTC - in response to Message 86166.  

Having done a search on this (who does that? d'oh) it appears it is possible to use an app_config.xml file to specify that n-body tasks use less than the max amount of cores.

<app_config>
<app>
<name>milkyway_nbody</name>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>milkyway_nbody</app_name>
<plan_class>mt</plan_class>
<avg_ncpus>3</avg_ncpus>
<cmdline>--nthreads 3</cmdline>
</app_version>
</app_config>


Make the above file in Notepad and save as app_config.xml into %Your data directory/projects/milkyway.cs.rpi.edu_milkyway directory.
Save as all files type, in ANSI format. When saved, open BOINC Manager->View->Advanced view->Options->Read config files.

avg_ncpus tells BOINC how many threads to reserve for the job scheduling.
cmdline tells BOINC how many threads the application may use at maximum.
Jord
Please do not private message me for tech support. Use the forums for that. Tech PMs will be ignored!
ID: 86167 · Report as offensive
Richard Haselgrove
Volunteer moderator
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 3270
United Kingdom
Message 86173 - Posted: 9 May 2018, 17:49:27 UTC - in response to Message 86167.  

Jord is absolutely right, and I've done that with the Milkway Nbody tasks. They can run on any number of threads that you care to set for them, but do keep the numbers you use for avg_ncpus and nthreads equal.

You may find that any existing work you have already downloaded before making the change still runs using the old settings. Have patience - when you have downloaded new work after the change, and starting running it, it should behave as you want.
ID: 86173 · Report as offensive
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 94
United Kingdom
Message 86251 - Posted: 20 May 2018, 10:52:50 UTC - in response to Message 86173.  

Ah, it's happened again and I think I was wrong to blame the 4 core Milkyway nbody. This time I have 4 1-core Milkyway modfits running on my quad core CPU, and nothing on the GPU, with only Einstein 1GPU+1CPU tasks queued. The reason being the modfits are on high priority as they're the second choice for the processor and were downloaded when Asteroids had no work left. I guess Boinc is making the most sensible choice after all, I think it always fills all cores and GPUs whenever possible, but if something has little deadline left, that has to come first.
ID: 86251 · Report as offensive
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 94
United Kingdom
Message 86252 - Posted: 20 May 2018, 10:55:13 UTC - in response to Message 86173.  
Last modified: 20 May 2018, 10:56:30 UTC

Jord is absolutely right, and I've done that with the Milkway Nbody tasks. They can run on any number of threads that you care to set for them, but do keep the numbers you use for avg_ncpus and nthreads equal.

You may find that any existing work you have already downloaded before making the change still runs using the old settings. Have patience - when you have downloaded new work after the change, and starting running it, it should behave as you want.


This kind of thing should really be in Boinc's settings. I'm a Windows user, I prefer the GUI! I did try the config file mentioned earlier, but I don't think I set nthreads. I didn't notice your post until now, the email notification is a bit flaky sometimes so I didn't know there was a reply.
It should also be an option in Milkyway's settings on the server, to tell it how many cores multi-core tasks should use. I think some projects have this option.
ID: 86252 · Report as offensive
mmonnin

Send message
Joined: 1 Jul 16
Posts: 112
United States
Message 86298 - Posted: 23 May 2018, 18:45:11 UTC

I think most require an app_config file to limit mt tasks to certain # threads.

LHC and Yafu have some option, not sure if it works.

I don't think these do.
MW
Cosmology
GPUGrid
PrimeGrid - Some apps can be run as mt.
BURP
SourceFinder

Cosmology FAQ has an example app_config file setup. Change the app names and it'll work for other projects. If its unknown what the app name is called then the event log will tell you the exact format.

I typically just copy one from project to project and edit the names as needed.
ID: 86298 · Report as offensive

Message boards : BOINC client : GPU stopped due to quad core task

Copyright © 2019 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.