Reload app_info.xml ?

Message boards : Number crunching : Reload app_info.xml ?
Message board moderation

To post messages, you must log in.

AuthorMessage
W3PerlProject Donor
Volunteer tester

Send message
Joined: 29 Apr 99
Posts: 153
Credit: 968,756,755
RAC: 2,262,586
France
Message 1871725 - Posted: 8 Jun 2017, 10:12:51 UTC

I would like to reload an app_info.xml file while seti is running.
Is there a way ?
You can reload cc_config.xml using --read_cc_config or global_prefs_override.xml using --read_global_prefs_override but I don't find a way to reload app_info.xml.
I would like to change <cmdline> values.

Thanks
ID: 1871725 · Report as offensive
OzzFan
Volunteer tester
Avatar

Send message
Joined: 9 Apr 02
Posts: 15579
Credit: 55,272,557
RAC: 31,438
United States
Message 1871726 - Posted: 8 Jun 2017, 10:15:58 UTC - in response to Message 1871725.  

From within BOINC Manager, if you're using BOINC v7.6.x, you can go to Options -> Read Config Files.
ID: 1871726 · Report as offensive
W3PerlProject Donor
Volunteer tester

Send message
Joined: 29 Apr 99
Posts: 153
Credit: 968,756,755
RAC: 2,262,586
France
Message 1871729 - Posted: 8 Jun 2017, 11:27:50 UTC - in response to Message 1871726.  

From within BOINC Manager, if you're using BOINC v7.6.x, you can go to Options -> Read Config Files.


Same as --read_cc_config.
ID: 1871729 · Report as offensive
Profile Brent Norman
Volunteer tester

Send message
Joined: 1 Dec 99
Posts: 1824
Credit: 108,296,176
RAC: 457,806
Canada
Message 1871731 - Posted: 8 Jun 2017, 11:34:09 UTC - in response to Message 1871725.  

I don't think you can read app_info, but you can restart BOINC

For your Linux boxes ... /etc/init.d/boinc-client restart
<insert correct path>
ID: 1871731 · Report as offensive
Profile Bill GProject Donor
Avatar

Send message
Joined: 1 Jun 01
Posts: 653
Credit: 111,807,534
RAC: 101,433
United States
Message 1871740 - Posted: 8 Jun 2017, 13:16:51 UTC - in response to Message 1871725.  

Speaking from personal experience, the app_info.xml is read at the start of computation of each WU so affects all WUs started after you have changed it. I added a command line to one of my computer while SETI was running ant that is what happened for me.

SETI@home classic workunits 4,019
SETI@home classic CPU time 34,348 hours
ID: 1871740 · Report as offensive
W3PerlProject Donor
Volunteer tester

Send message
Joined: 29 Apr 99
Posts: 153
Credit: 968,756,755
RAC: 2,262,586
France
Message 1871763 - Posted: 8 Jun 2017, 16:55:50 UTC - in response to Message 1871740.  

Speaking from personal experience, the app_info.xml is read at the start of computation of each WU so affects all WUs started after you have changed it. I added a command line to one of my computer while SETI was running ant that is what happened for me.


Doesn't work for me :( parameters are still the same after changing value in the <cmd> tag....
I'm afraid the only answer would be to restart....
ID: 1871763 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 3808
Credit: 187,398,362
RAC: 237,744
United States
Message 1871767 - Posted: 8 Jun 2017, 17:13:01 UTC - in response to Message 1871763.  

BOINC reads the app_info.xml at startup and writes pertinent parts to client_state.xml. BOINC doesn't read app_info again until a BOINC restart. It is Not advised to try to edit client_state.xml while BOINC is running. You must restart BOINC to have it read the app_info again.
ID: 1871767 · Report as offensive
Profile Brent Norman
Volunteer tester

Send message
Joined: 1 Dec 99
Posts: 1824
Credit: 108,296,176
RAC: 457,806
Canada
Message 1871779 - Posted: 8 Jun 2017, 18:21:45 UTC - in response to Message 1871763.  

Laurent, if this is something that may always be an issue for you, you can define a .TXT file for the command line in app_info, then any changes made to the txt file are read with the start of each new tasks.
ID: 1871779 · Report as offensive
W3PerlProject Donor
Volunteer tester

Send message
Joined: 29 Apr 99
Posts: 153
Credit: 968,756,755
RAC: 2,262,586
France
Message 1871898 - Posted: 9 Jun 2017, 8:15:36 UTC - in response to Message 1871779.  

Laurent, if this is something that may always be an issue for you, you can define a .TXT file for the command line in app_info, then any changes made to the txt file are read with the start of each new tasks.


Can you provide me an example ?
ID: 1871898 · Report as offensive
Profile Brent Norman
Volunteer tester

Send message
Joined: 1 Dec 99
Posts: 1824
Credit: 108,296,176
RAC: 457,806
Canada
Message 1871899 - Posted: 9 Jun 2017, 8:41:01 UTC - in response to Message 1871898.  
Last modified: 9 Jun 2017, 8:43:18 UTC

A snippet from my SoG definition (Lunatics) shows the defining of a file for the command lines. I believe the generic name used with cuda is mb_cuda.cfg
    <app>
        <name>setiathome_v8</name>
    </app>
    <file_info>
        <name>MB8_win_x86_SSE3_OpenCL_NV_SoG_r3584.exe</name>
        <executable/>
    </file_info>
    <file_info>
        <name>libfftw3f-3-3-4_x86.dll</name>
	<executable/>
    </file_info>
    <file_info>
        <name>mb_cmdline_win_x86_SSE3_OpenCL_NV.txt</name>
    </file_info>
    <app_version>
        <app_name>setiathome_v8</app_name>
        <version_num>821</version_num>
        <platform>windows_intelx86</platform>
        <avg_ncpus>0.04</avg_ncpus>
        <max_ncpus>0.2</max_ncpus>
        <plan_class>opencl_nvidia_SoG</plan_class>
        	<cmdline></cmdline>	
	<coproc>
            <type>CUDA</type>
            <count>1</count>
        </coproc>
        <file_ref>
            <file_name>MB8_win_x86_SSE3_OpenCL_NV_SoG_r3584.exe</file_name>
            <main_program/>
        </file_ref>
        <file_ref>
            <file_name>libfftw3f-3-3-4_x86.dll</file_name>
        </file_ref>
        <file_ref>
            <file_name>mb_cmdline_win_x86_SSE3_OpenCL_NV.txt</file_name>
            <open_name>mb_cmdline.txt</open_name>
        </file_ref>
    </app_version>
ID: 1871899 · Report as offensive
Profile Brent Norman
Volunteer tester

Send message
Joined: 1 Dec 99
Posts: 1824
Credit: 108,296,176
RAC: 457,806
Canada
Message 1871902 - Posted: 9 Jun 2017, 9:04:23 UTC
Last modified: 9 Jun 2017, 9:05:32 UTC

Found my notes from what a Windows Lunatics Cuda install looks like:
    <app>
        <name>setiathome_v8</name>
    </app>
    <file_info>
        <name>Lunatics_x41zi_win32_cuda50.exe</name>
        <executable/>
    </file_info>
    <file_info>
        <name>cudart32_50_35.dll</name>
        <executable/>
    </file_info>
    <file_info>
        <name>cufft32_50_35.dll</name>
        <executable/>
    </file_info>
    <file_info>
        <name>mbcuda.cfg</name>
    </file_info>
    <app_version>
        <app_name>setiathome_v8</app_name>
        <version_num>800</version_num>
	<platform>windows_intelx86</platform>
        <api_version>6.2.18</api_version>
        <plan_class>cuda50</plan_class>
        <avg_ncpus>0.040000</avg_ncpus>
        <max_ncpus>0.040000</max_ncpus>
        <coproc>
            <type>CUDA</type>
            <count>1</count>
        </coproc>
        <file_ref>
            <file_name>Lunatics_x41zi_win32_cuda50.exe</file_name>
            <main_program/>
         </file_ref>
        <file_ref>
	    <file_name>cudart32_50_35.dll</file_name>
        </file_ref>
        <file_ref>
            <file_name>cufft32_50_35.dll</file_name>
        </file_ref>
        <file_ref>
            <file_name>mbcuda.cfg</file_name>
        </file_ref>
    </app_version>

It's the same layout, just a different input name.
ID: 1871902 · Report as offensive
W3PerlProject Donor
Volunteer tester

Send message
Joined: 29 Apr 99
Posts: 153
Credit: 968,756,755
RAC: 2,262,586
France
Message 1871904 - Posted: 9 Jun 2017, 10:15:16 UTC - in response to Message 1871902.  


    <file_info>
        <name>mbcuda.cfg</name>
    </file_info>
 



It just means there is a mbcuda.cfg file in the distrib. There is no filename in your
<cmdline>
tag.
Do you have such file and can you send the content of this file ?
ID: 1871904 · Report as offensive
Profile Brent Norman
Volunteer tester

Send message
Joined: 1 Dec 99
Posts: 1824
Credit: 108,296,176
RAC: 457,806
Canada
Message 1871906 - Posted: 9 Jun 2017, 11:06:35 UTC - in response to Message 1871904.  

mbcuda.cfg
;;; This configuration file is for optional control of Cuda Multibeam x41zi
;;; Currently, the available options are for
;;; application process priority control (without external tools), and
;;; per gpu priority control (useful for multiple Cuda GPU systems)
[mbcuda]
;;;;; Global applications settings, to apply to all Cuda devices
;;; You can uncomment the processpriority line below, by removing the ';', to engage machine global priority control of x41zi
;;; possible options are 'belownormal' (which is the default), 'normal', 'abovenormal', or 'high'
;;; For dedicated crunching machines, 'abovenormal' is recommended
;;; raising global application priorities above the default
;;; may have system dependant usability effects, and can have positive or negative effects on overall throughput
;processpriority = abovenormal
;;; Pulsefinding: Advanced options for long pulsefinds (affect display usability & long kernel runs)
;;; defaults are conservative.
;;; WARNING: Excessive values may induce display lag, driver timeout & recovery, or errors.
;;; pulsefinding blocks per multiprocessor (1-16), default is 1 for Pre-Fermi, 4 for Fermi or newer GPUs
;pfblockspersm = 8
;;; pulsefinding maximum periods per kernel launch (1-1000), default is 100, as per 6.09
;pfperiodsperlaunch = 200


;[bus1slot0]
;;; Optional GPU specifc control (requires Cuda 3.2 or newer app), example
processpriority = abovenormal
pfblockspersm = 8
pfperiodsperlaunch = 200
Now the question is, did petri add provisions for reading -unroll ??

From Readme:
3) Optional configuration (advanced users***, also see (a) example configuration)
Adjusting the host process priority from the default 'below normal' can help GPU utilisation & reduce CPU
usage for some systems. You can either use an external tool, such as Process Lasso (or similar),
or alternatively use the internal priority control via .cfg text file or app_info command line parameter
under anonymous platform operation.
- For process priority control via mbcuda.cfg in the project directory, a supplied mbcuda.cfg file with
notes and commented out default settings is supplied. The use of these settings is documented with
comments in that file.
- For Berkeley stock distribution, these settings can be made in the version specific
mbcuda-8.00-cudaxx.cfg file, which is distributed as zero length. A sample is supplied in
mbcuda-8.00-cudaxx.cfg.sample. These are plain text files that can be edited with notepad.
- For individual control of host application process priorities on a per GPU basis, also in the supplied
mbcuda.cfg text file there is an example per GPU process priority line. NOTE that x41zi changes the method
used for controlling individual GPU process priorities, to use the same keys as the global entries in
optional GPU specific sections. Individual PCI bus & slot identifiers can be retrieved from stderr text
output displayed on task result pages on the seti@home site
- For command-line control (practical under anonymous platform operation), only general process priority
control is supported, by adding a <cmdline>-ppp</cmdline> line into the appropriate app_info.xml section(s),
where -ppp can be:
-bel (for the default of below normal process priority)
-nor (for normal process priority)
-abo (for above normal process priority)
-hig (for high process priority)
- only the first 3 letters are needed
- 2 new performance / usability related parameters are provided via the command line, and mbcuda.cfg
-pfb nn , command line option, nn may be 1 to 16, default for PreFermis is 1, Fermis or newer is 4
-pfp nn , nn may be 1 to 1000, default is 100 as per original 6.09 sources.
equivalent keys in mbcuda.cfg are described there with examples
- matching pci device specific setting (in mbcuda.cfg) takes the highest precedence, followed by cfg file
process-priority key for global control, and lastly command line.
(more specific configs override less specific ones when multiple methods specify different priorities)
ID: 1871906 · Report as offensive
Profile petri33Project Donor
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1465
Credit: 270,618,726
RAC: 304,700
Finland
Message 1872076 - Posted: 9 Jun 2017, 22:55:24 UTC - in response to Message 1871906.  

The unroll is not implemented in any of the file interfaces.

In the upcoming version (From TBar available, when released) the -unroll autotune will be a default and the use of the blocking sync is an another default.

If you do not want any BS you must state that in the command line saying -nobs . The BS means blocking sync and that releases your CPU to do CPU processing but it will slow down your GPU work. I choose no BS.

--
Petri
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1872076 · Report as offensive

Message boards : Number crunching : Reload app_info.xml ?


 
©2017 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.