All E&H AMD GPU Linux Apps Fail Immediately when POCL installed

Paul
Paul
Joined: 3 May 07
Posts: 123
Credit: 1798427602
RAC: 433825
Topic 222026

My question: What can I do about BOINC/E@H trying (and failing) to use POCL OpenCL devices?

Hello again.  I spent another day fighting with AMDGPU on Linux.  The new driver (v20.10) was released, yesterday, and I did the natural thing and tried to upgrade.  The AMD uninstall script actually deleted important files that prevented graphical boot.  I fixed all that and even installed the new OpenCL AMDGPU support (without -pro, using the rest of the OSS driver stack).

After I checked the error-ed tasks on this project, I noticed that E@H seemed to be using a POCL device.  I check BOINC, and it was actually listing a POCL device.  I removed POCL from my system completely and now it seems to be crunching.

Other than removing POCL capability from my whole computer, and considering the fact that it keeps coming back with regular system updates, is there *a different way* to prevent BOINC from detecting or trying to use this OpenCL device?

Jonathan
Jonathan
Joined: 4 Oct 17
Posts: 15
Credit: 16939851
RAC: 0

Turn off gpu usage in your

Turn off gpu usage in your project preferences and select only CPU tasks?

Paul
Paul
Joined: 3 May 07
Posts: 123
Credit: 1798427602
RAC: 433825

Any other ideas? Here is

Any other ideas?

Here is something I forgot to mention:  When POCL is installed, BOINC still detects the correct GPU, the one it uses when POCL isn't installed.  It just *also* detects POCL *CPU* and assigns tasks to that device, which fails.

Holmis
Joined: 4 Jan 05
Posts: 1118
Credit: 1055935564
RAC: 0

Exclude via

Exclude via cc_config.xml?

Documentation: https://boinc.berkeley.edu/wiki/Client_configuration

Look for <exclude_gpu>?

Paul
Paul
Joined: 3 May 07
Posts: 123
Credit: 1798427602
RAC: 433825

Thanks HOLMIS. I did find

Thanks HOLMIS. I did find that and it sounds like just what I want, but I wasn't sure what the side effects might be. Does that send me back to "Anonymous Platform" where I control all BOINC settings through the manager GUI and .xml files, directly, and not from the project website?  Or is that when you have your own app_config.xml file?  I forget; a long time ago I had both local preferences and manually edited app_config, so I forget how it works.  Is that safe to change while I use the remote/project config after adding that?

...Ah, okay, so I looked up Anon again and I think that is just for native apps, not related to cc_config.

But, I still wonder, are there any side effects of messing with cc_config I need to know?

Holmis
Joined: 4 Jan 05
Posts: 1118
Credit: 1055935564
RAC: 0

Short answer is that

Short answer is that excluding a resource should not affect anything else but there are some other things that might have a negative impact.

Lets define some things: (Not only for you but for anyone else that might come upon this)

cc_config.xml = Core Client Configuration (Please do read the manual!) It's used for 2 main things 1. Configure what log messages are shown in the Event log 2. Configure the behavior of Boinc

Messing around with the log options is quite safe and the only downsides I can think off is a bloated Event log and files on the HDD.
The options section on the other hand can have negative impact on Boinc and you should read up before changing anything. The majority of users will not need the use a cc_config.xml to change any of the options in the options section. Please ask a question in the forum if you're unsure of the impact of changing anything in the options section.

app_config.xml = Application Configuration (Please do read the manual!) This file is used to fine tune how Boinc schedules tasks for a given project on your computer. It will NOT change how the application use your computer but it will change how many tasks Boinc will run at any given time.

This configuration file is mainly used to fine tune when one wants to run multiple tasks on a GPU. The same results (but with less tuning) can be achieved by using the Utilization factors in the Project preferences settings here on the site. (Be sure to save the changes at the bottom of the page and they will take affect on the next download of tasks for the application/search, the change will then apply to the whole cache of task on the computer)
Depending on what values you use in these settings things might not run at all and tasks might fail and no credit will be awarded in such cases. If unsure about these settings please do ask before changing them!

app_info.xml = Anonymous Platform (Before even thinking about using this on Einstein DO read the manual and be sure to understand that you're now responsible for providing a functioning application and manually updating it!) This is ONLY used when you're not using the projects supplied applications to process tasks. For the main scientific searches here on Einstein@home there are NO 3rd party applications so there's no need to use this functionality. If you're using a Raspberry Pi then there are optimized versions available if you have have a compatible version.

And once again, there's no such thing as a dumb question, please do ask if you're unsure!

Paul
Paul
Joined: 3 May 07
Posts: 123
Credit: 1798427602
RAC: 433825

Okay, you convinced me that I

Okay, you convinced me that I could use <exclude_gpu> to do what I want, which is ignore a GPU that BOINC detects as valid, but isn't. Although, it seems like I have to have a separate <exclude_gpu> entry for each project (that has GPU apps at least).

For the time being, however, I think removing POCL will for me, best. The <type> option for <exclude_gpu> seems to only accept a limited set of values, so I would need to use <device_num>, which may not be robust as the ordering may change under different conditions.

I think what I was worried about was global_prefs_override.xml.  It's not clear from the documentation exactly what happens when you use the manager to change your preferences, instead of the project web-preferences. Or, more importantly, how to revert to the project web-based preference if you start using the local ones.  It just didn't make sense to edit a local file without understanding this separation.  But, cc_config is not where the "preferences" live, which is basically what I was worried about.

Thanks for your help!

Holmis
Joined: 4 Jan 05
Posts: 1118
Credit: 1055935564
RAC: 0

Paul wrote:I think what I was

Paul wrote:
I think what I was worried about was global_prefs_override.xml.  It's not clear from the documentation exactly what happens when you use the manager to change your preferences, instead of the project web-preferences.

What happens is that for that particular machine the Computing Preferences are then set locally through Boinc.
The Project preferences still has to be managed via the website.
To revert to using the web-preferences again just open Boinc -> Options -> Computing preferences and look in the top right part of the window. There should be a button labeled "Use web prefs". Or stop Boinc and delete/move/rename the global_prefs_override.xml file.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.