app_config.xml editor

Started by fred, June 07, 2018, 10:01:11 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

fred

As of V 1.77 BoincTasks includes an app_config.xml editor, that should work with BOINC 7.10.2.

More info here https://boinc.berkeley.edu/wiki/Client_configuration

To use select the Project Tab -> select a project -> Menu Extra Edit config file (app_config.xml)

The test entry:


<app_config>
       <app>
           <name>setiathome_v8</name>
           <max_concurrent>1</max_concurrent>
           <gpu_versions>
               <gpu_usage>.5</gpu_usage>
               <cpu_usage>.4</cpu_usage>
           </gpu_versions>
           <fraction_done_exact>0</fraction_done_exact>
           <report_results_immediately>0</report_results_immediately>
       </app>
       <app_version>
           <app_name>setiathome_v8</app_name>
           <plan_class></plan_class>
           <cmdline>--nthreads 7</cmdline>
           <avg_ncpus>0.000000</avg_ncpus>
           <ngpus>4.000000</ngpus>
       </app_version>
       <project_max_concurrent>0</project_max_concurrent>
       <report_results_immediately>0</report_results_immediately>
   </app_config>

**NOTE:
The BOINC client changes:
      <gpu_versions>
          <gpu_usage>.5</gpu_usage>
          <cpu_usage>.4</cpu_usage>
      </gpu_versions>
into:
      <gpu_gpu_usage>0.500000</gpu_gpu_usage>
      <gpu_cpu_usage>0.400000</gpu_cpu_usage>

Both are valid.

Aurum

I tried editing an app_config file on a Linux Mint 19 Tara computer (BOINC 7.9.3) from a Win7 computer (BOINC 7.12.1) and it showed it to me but the changes didn't take. I haven't tried editing app_config from W7 BOINC 7.12.1 to W7 BOINC 7.12.1 yet. Just wanted to point out that BOINC is on different versions for Linux & Windows.
I just started using BoincTasks 1.78 a couple of days ago & I really like this program.
I came to the forum trying find out why I cannot connect to all my local network computers.

fred

Quote from: Aurum on August 05, 2018, 06:12:33 PM
I tried editing an app_config file on a Linux Mint 19 Tara computer (BOINC 7.9.3) from a Win7 computer (BOINC 7.12.1) and it showed it to me but the changes didn't take.
This feature was introduced in the BOINC client recently, so it seems the client doesn't support it.
https://boinc.berkeley.edu/trac/wiki/VersionHistory

Does the log show anything when you try to update.

Aurum

Quote from: fred on August 06, 2018, 07:03:33 AM
Quote from: Aurum on August 05, 2018, 06:12:33 PM
I tried editing an app_config file on a Linux Mint 19 Tara computer (BOINC 7.9.3) from a Win7 computer (BOINC 7.12.1) and it showed it to me but the changes didn't take.
This feature was introduced in the BOINC client recently, so it seems the client doesn't support it.
https://boinc.berkeley.edu/trac/wiki/VersionHistory
I read the version history and I don't know what you're talking about here. Maybe you're saying the edit feature was added to Win version but yet to be added to Linux??? I could try Linux to Linux and see if that works.
Quote from: fred on August 06, 2018, 07:03:33 AM
Does the log show anything when you try to update.
Rig-08  5826   Milkyway@Home   8/29/2018 1:51:42 AM   [error] Can't open app config file projects/milkyway.cs.rpi.edu_milkyway/app_config.xml

My PC is Win7-64 and Rig-08 is Linux Mint 19 Tara.
After clicking Apply it gives no message so it appears to work. If I try to Edit app_config.xml again the old text is still there.
I discovered that even when there was no app_config.xml present on the remote PC a text editor box opens with an error message. I found I could replace that error message with the config code, Check Syntax & Appy and it gets created on the remote PC. Great feature.
Love the Syntax Checker!!!   

fred

Quote from: Aurum on August 29, 2018, 07:52:13 PM
I read the version history and I don't know what you're talking about here. Maybe you're saying the edit feature was added to Win version but yet to be added to Linux??? I could try Linux to Linux and see if that works.
In BoincTasks click on the Computers tab. The BOINC column shows the version number.
Yes the Linux version is always older than the Windows version.

Aurum

You have a major problem with this edit app_config.xml feature. It alters the code and adds killer lines.
Here's what I entered:
<app_config>
<app>
    <name>milkyway</name>
    <gpu_versions>
        <gpu_usage>0.999</gpu_usage>
        <cpu_usage>0.5</cpu_usage>
    </gpu_versions>
</app>
</app_config>


Here's what Fred wrote to my Milkyway app_config:
<app_config>
       <app>
           <name>milkyway</name>
           <max_concurrent>0</max_concurrent>
           <gpu_gpu_usage>0.500000</gpu_gpu_usage>
           <gpu_cpu_usage>0.999000</gpu_cpu_usage>
           <fraction_done_exact>0</fraction_done_exact>
           <report_results_immediately>0</report_results_immediately>
       </app>
       <project_max_concurrent>0</project_max_concurrent>
   </app_config>

So now I understand why I never get any Milkyway WUs. Great, I now have to audit about 400 app_config.xml files one by one to assure they are correct.

fred

Quote from: Aurum on September 03, 2018, 12:01:55 AM
You have a major problem with this edit app_config.xml feature. It alters the code and adds killer lines.

So now I understand why I never get any Milkyway WUs. Great, I now have to audit about 400 app_config.xml files one by one to assure they are correct.
From what I remember, the BOINC client changes the syntax, the last entry should be the correct one for recent clients.
I see nothing wrong, the added settings are the default settings, no other way to send them to the BOINC client. All the parameters need to be send.

Do you see any errors in the log that indicates there is something wrong?


    <gpu_versions>
        <gpu_usage>0.999</gpu_usage>
        <cpu_usage>0.5</cpu_usage>
    </gpu_versions>

=
     <gpu_gpu_usage>0.500000</gpu_gpu_usage>
     <gpu_cpu_usage>0.999000</gpu_cpu_usage>

Richard Haselgrove

#7
Unfortunately, this tool DOES NOT CURRENTLY WORK.

As noted above, the BOINC client writes out a new copy of app_config.xml, but uses faulty syntax. The new tags are unintentional, and are not recognised when the file is read back by the client.

28/03/2021 09:35:16 | GPUGRID | Unparsed line in app_config.xml: gpu_gpu_usage
28/03/2021 09:35:16 | GPUGRID | Unparsed line in app_config.xml: gpu_cpu_usage

I have submitted a patch for the BOINC client - https://github.com/BOINC/boinc/pull/4291 - but this will have to be approved, and a new client released, before the editor can be used.

fred

Quote from: Richard Haselgrove on March 29, 2021, 08:49:03 AM
I have submitted a patch for the BOINC client - https://github.com/BOINC/boinc/pull/4291 - but this will have to be approved, and a new client released, before the editor can be used.
I see, the problem is in the BOINC client, so no one is really using this.

Richard Haselgrove

Well, somebody tried - that's how we found out it wasn't working!  ;D

My patch has been accepted in principle (with one minor change requested, and I've done that). Hopefully it'll get merged tonight, though the guy who's doing it is busy with his own project beta. It works on my test build here, but I think we're stuck with David's preference for six decimal places after every number.

Richard Haselgrove

On the subject of Linux: I've tested it on Linux Mint. My setup uses a repo-style base setup, but with LocutusOfBorg's PPA so I get updates quickly.

The trouble is that the systemd data directory is heavily sandboxed. I've previously added my own app_config.xml files, but I have to use administrator tools to write the files: they end up owned by root, and are read-only for everyone else.

The BOINC client can write its own files, but I haven't found a way of allowing it to over-write root's files yet.

Richard Haselgrove

Found another one. Using the BoincTasks editor makes the client add the line
<project_max_concurrent>0</project_max_concurrent>
to the app_config file.

Normally, zero is used as a 'no restriction specified' placeholder, but if you run out of tasks from that project - you're stuck. The 'project_max_concurrent' value is applied literally.

Fix submitted as https://github.com/BOINC/boinc/pull/4337