Results 1 to 7 of 7

Thread: Customizing BOINC app_info.xml

  1. #1
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139

    Customizing BOINC app_info.xml

    We are using app_info to tell BOINC which of the WCG projects we want to run and in the case of HCC for GPU, how many instances of the app to run on each GPU. The ony real reason to do this is when your GPU utilization is less than 90% and you want to crank a little more out of your rig. Some folks have had great success, typically those running high end cards but there is room for all. That being said, if you run too many instances and stuff your GPU you may start to see some lag in your PC's response.

    ATI GPU only app_info - post #3 this thread

    Nvidia GPU only app_info - post #4 this thread

    Combining multiple projects with GPU and CPU app_info - post #5 this thread

    Main thread for working app_info files - courtesy of OldChap

    An alternative to running with app_info - courtesy of Vinas

    Now that I've managed to derail my own thread ... back to our 'How To' for putting together an app_info file.

    General makeup of an app_info file
    1.1 There are three general sections within an app_info file
    1.2 <app> - this is the basic info on the WCG project you are configuring (like HCC or CEP2)
    1.3 <file_info> - A list all of the files the <app> will use
    1.4 <app_version> - these are the specific programs that will run each <app>
    (like HCC can be both gpu and cpu so we need an app_version for each)

    How to manage your app_info files
    2.1 Don't work directly in the folder BOINC reads the app_info from, make your own folder so if you ever reset the project entirely or even uninstall / reinstall BOINC you won't lose your custom app_info file. Another nice thing about doing them in a separate folder is that you can keep different versions along with things like your custom account and config files
    2.2 Make the file name describe what apps it will run (NV_GPU_ONLY)
    2.3 Create a new app_info.xml file or make a copy of an existing file
    2.4 This is also the place to store copies of the files listed in your app_info

    What tools do we use to build an app_info file?
    3.1 We will use Notepad to create / modify our app_info_files but Notepad tries to trick you
    3.2 Notepad wants to save everything as .txt but we need .xml
    3.3 When saving a file for the first time make sure to change the file type to All Files
    3.4 Changing a file from .txt to .xml, use file system to rename or open in Notepad and use Save As

    How to build an app_info file
    4.1 We will be posting working examples of the app_info file sections below so you can mix and match
    4.2 Create a new app_info file and create the overall openeing tag <app_info>
    (Everythign inside the app_info_file has to go under the app_info tag)
    4.4 If you want to add a new app copy the <app> section and paste it at the end of your file but before the closing </app_info> tag
    4.5 if you are just adding a new version of an existing <app> you don't have to add it again
    4.6 Add the <file_info> and <app_version> sections just below the <app> that will be running them
    4.7 Repeat 4.2 and 4.3 for each <app_version> you want to run the <app>
    4.8 For each <app> repeat 4.2 though 4.4
    4.9 Create the app_info closing tag </app_info>

    Getting BOINC to use it
    5.1 Set your WCG device profile preferences on the website to match the projects you are going to run with your app_info file.
    5.2 If you are adding a new app info for the first time complete your existing WUs (or abort them).
    5.3 Stop BOINC
    5.4 Put app_info into the folder you told BOINC to use for Program Data when you installed
    5.4.1 Windows 7 = C\Program Data\projects\www.worldcommunitygrid.org
    5.5 If the files listed inside the app_info are not already in this folder copy them in from your app_info source folder
    5.6 Start BOINC

    TODO
    1. add xml comments
    2. explain <flops>
    3. explain how to use app_version to run 32 bit WUs with 64 bit executables and vice versa
    4. explain how cpu_avg, cpu_max work
    Last edited by Snow Crash; 12-04-2012 at 04:17 PM.

  2. #2
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    ATI GPU: Note that the tag for <count> under <coproc> is where you say how many instances per GPU. It might seem a little backwards but 1 = 1, .5 = 2, .33 = 3, etc.
    Code:
    <app_info>
    
       <!-- app configuration for HCC -->
       <app>
          <name>hcc1</name>
          <user_friendly_name>XtremeSystems Crunches Cancer</user_friendly_name>
       </app>
    
       <!-- file_info configuration for HCC ATI -->
       <file_info>
          <name>wcg_hcc1_img_7.05_windows_intelx86__ati_hcc1</name>
          <executable/>
       </file_info>
       <file_info>
          <name>hcckernel.cl.7.05</name>
          <executable/>
       </file_info>
    
       <!-- app_version configuration for HCC ATI -->
       <app_version>
          <app_name>hcc1</app_name>
          <version_num>705</version_num>
          <platform>windows_intelx86</platform>
          <plan_class>ati_hcc1</plan_class>
          <avg_ncpus>1.0</avg_ncpus>
          <max_ncpus>1.0</max_ncpus>
          <flops>3500000000</flops>
          <coproc>
             <type>ATI</type>
             <count>.5</count>
          </coproc>
          <file_ref>
             <file_name>wcg_hcc1_img_7.05_windows_intelx86__ati_hcc1</file_name>
             <main_program/>
          </file_ref>
          <file_ref>
             <file_name>hcckernel.cl.7.05</file_name>
             <open_name>hcckernel.cl</open_name>
          </file_ref>
       </app_version>
    
    </app_info>
    side note: adding <download location> doesn't work
    Last edited by Snow Crash; 12-04-2012 at 04:37 PM.

  3. #3
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    Nvidia GPU: Note that the tag for <count> under <coproc> is where you say how many instances per GPU.
    It might seem a little backwards but 1 = 1, .5 = 2, .33 = 3, etc.

    Code:
    <app_info>
       <app>
          <name>hcc1</name>
          <user_friendly_name>XtremeSystems Crunches Cancer</user_friendly_name>
       </app>
    
       <app_version>
          <app_name>hcc1</app_name>
          <version_num>705</version_num>
          <platform>windows_intelx86</platform>
          <plan_class>nvidia_hcc1</plan_class>
          <avg_ncpus>1.0</avg_ncpus>
          <max_ncpus>1.0</max_ncpus>
          <flops>3500000000</flops>
          <coproc>
             <type>CUDA</type>
             <count>.5</count>
          </coproc>
          <file_ref>
              <file_name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</file_name>
              <main_program/>
          </file_ref>
          <file_ref>
             <file_name>hcckernel.cl.7.05</file_name>
             <open_name>hcckernel.cl</open_name>
          </file_ref>
       </app_version>
    
       <file_info>
          <name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</name>
          <executable/> 
       </file_info>
       <file_info>
          <name>hcckernel.cl.7.05</name>
          <executable/>
       </file_info>
    
    </app_info>
    side note: adding download location doesn't work
    Last edited by Snow Crash; 12-04-2012 at 09:52 AM.

  4. #4
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    CPU Projects

    HCC
    Code:
    <app_info>
       <app>
          <name>hcc1</name>
          <user_friendly_name>XtremeSystems Crunches Cancer</user_friendly_name>
       </app>
    
       <app_version>
          <app_name>hcc1</app_name>
          <version_num>705</version_num>
          <platform>windows_intelx86</platform>
          <avg_ncpus>1</avg_ncpus>
          <max_ncpus>1</max_ncpus>
          <flops>3500000000</flops>
          <api_version>6.13.0</api_version>
          <file_ref>
             <file_name>wcg_hcc1_img_7.05_windows_intelx86</file_name>
             <main_program/>
          </file_ref>
       </app_version>
    
       <file_info>
          <name>wcg_hcc1_img_7.05_windows_intelx86</name>
          <executable/>
       </file_info>
    
    </app_info>
    GFAM
    Code:
    <app_info>
       <app>
          <name>gfam</name>
          <user_friendly_name>GO Fight Against Malaria</user_friendly_name>
       </app>
    
       <app_version>
          <app_name>gfam</app_name>
          <version_num>612</version_num>
          <platform>windows_x86_64</platform>
          <avg_ncpus>1.0</avg_ncpus>
          <max_ncpus>1.0</max_ncpus>
          <flops>3000000000</flops>
          <api_version>7.1.0</api_version>
          <file_ref>
             <file_name>wcgrid_gfam_vina_6.12_windows_x86_64</file_name>
             <main_program/>
          </file_ref>
          <file_ref>
            <file_name>wcgrid_gfam_vina_prod_x86_64.exe.6.12</file_name>
            <open_name>AutoDockVina64.exe</open_name>
          </file_ref>
        </app_version>
        <file_info>
           <name>wcgrid_gfam_vina_6.12_windows_x86_64</name>
           <executable/>
        </file_info> 
        <file_info>
           <name>wcgrid_gfam_vina_prod_x86_64.exe.6.12</name>
           <executable/>
        </file_info>
    </app_info>

    Need to add all other CPU projects here
    Last edited by Snow Crash; 12-04-2012 at 09:51 AM.

  5. #5
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    Now we will pull together a couple of these pieces to build an app_info file that crunches multiple projects so you can see how it's done. It doesn't matter which apps / projects you want to mix and match it all works the same. I'll use Nvidia GPU because I happen to be running that on the rig I'm typing from now.

    I'll put comments inside the code itself so hopefully it is easier to see how the pieces go together.
    Code:
    <app_info>
       <app> - WE CALL THESE WCG PROJECTS (HCC1, CEP2, GFAM, ETC), EACH PROJECT HAS IT'S OWN <app>
          <name>hcc1</name>
          <user_friendly_name>XtremeSystems Crunches Cancer</user_friendly_name>
       </app>
    
       <app_version>
          <app_name>hcc1</app_name>  - SAME AS <app> SO IT KNOWS WHICH PIECES GO TOGETHER 
          <version_num>705</version_num>
          <platform>windows_intelx86</platform>
          <plan_class>nvidia_hcc1</plan_class>
          <avg_ncpus>1.0</avg_ncpus>
          <max_ncpus>1.0</max_ncpus>
          <coproc>
             <type>CUDA</type>
             <count>.5</count>
          </coproc>
          <file_ref>
              <file_name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</file_name>
              <main_program/>
          </file_ref>
          <file_ref>
             <file_name>hcckernel.cl.7.05</file_name>
             <open_name>hcckernel.cl</open_name>
          </file_ref>
       </app_version>
    
       <file_info>  - YES - REPEAT FILES FOUND INSIDE THE APP_VERSION
          <name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</name>
          <executable/> 
       </file_info>
       <file_info>
          <name>hcckernel.cl.7.05</name>
          <executable/>
       </file_info>
    
    </app_info>
    Easy enough but now we want to add HCC1 CPU. We already have the WCG project name so we don't have to repeat that but we do need to add the relevant app_version and it's related file_info sections. I will highlight the original in blue and show the new pieces in black.
    Code:
    <app_info>'ORIGINAL
       <app>
          <name>hcc1</name>
          <user_friendly_name>XtremeSystems Crunches Cancer</user_friendly_name>
       </app>
    
       <app_version>
          <app_name>hcc1</app_name>
          <version_num>705</version_num>
          <platform>windows_intelx86</platform>
          <plan_class>nvidia_hcc1</plan_class>
          <avg_ncpus>1.0</avg_ncpus>
          <max_ncpus>1.0</max_ncpus>
          <coproc>
             <type>CUDA</type>
             <count>.5</count>
          </coproc>
          <file_ref>
              <file_name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</file_name>
              <main_program/>
          </file_ref>
          <file_ref>
             <file_name>hcckernel.cl.7.05</file_name>
             <open_name>hcckernel.cl</open_name>
          </file_ref>
       </app_version>
    
       <file_info>
          <name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</name>
          <executable/> 
       </file_info>
       <file_info>
          <name>hcckernel.cl.7.05</name>
          <executable/>
       </file_info>
    
    
    ADDED
       <app_version>
          <app_name>hcc1</app_name>
          <version_num>705</version_num>
          <platform>windows_intelx86</platform>
          <avg_ncpus>1.000000</avg_ncpus>
          <max_ncpus>1.000000</max_ncpus>
          <flops>3231932486.733310</flops>
          <api_version>6.13.0</api_version>
          <file_ref>
             <file_name>wcg_hcc1_img_7.05_windows_intelx86</file_name>
             <main_program/>
          </file_ref>
       </app_version>
    
       <file_info>
          <name>wcg_hcc1_img_7.05_windows_intelx86</name>
          <executable/>
       </file_info>
    </app_info>
    Last edited by Snow Crash; 11-14-2012 at 06:31 PM.

  6. #6
    Xtreme Cruncher
    Join Date
    Jan 2009
    Location
    The Hague, Netherlands
    Posts
    460
    Great Idea!

    A suggestion: maybe people can post working app_info's and mention the specs of the system it works on (GPU/CPU/HT on or off/boinc version/etc).
    I have the feeling that the same app_info might not work on all systems as I saw that Movieman had trouble with the same app_info that works perfectly fine for me.
    Is it possible to make "spoilers" on XS so you can collect those?

    EDIT: Oh, apparently OldChap already started a thread collecting working app_info's. Would it not be more practical to merge these 2 threads together?
    Last edited by Conquistador SW; 10-21-2012 at 04:57 AM.

    3770K 4.7Ghz 1.32v / ASUS P8Z77-V PRO / 8GB DDR3 1866 9-9-9-27 /ASUS HD7970 1025MHz / Antec NeoHE 550 / Samsung 830 256GB Crunching
    Cooled by PA120.3, EK-HF, D-tek Fuzion GFX, DDC3.1 XSPC res/top

    i5 2400 Stock / ASUS P8P67 LE / 4GB DDR3 1600 / Seasonic S12II 430W / Intel G2 40GB Crunching

    2600K 4.6Ghz 1.34v / ASUS P8Z68-V PRO / 8GB DDR3 1600 8-8-8-24 / Antec 430W / Intel G2 80GB Crunching

    W3520 4.0Ghz 1.19v / Rampage II Gene / 6GB Kinston Value 1333 / 9800GT / Corsair TX650 / Antec mini P180 / Intel G2 160GB Crunching

    Intel G860 Stock / Gigabyte H67MA-UD2H-B3 / 4GB DDR3 1333 / Antec Earthwatts green 380W / Crucial M4 64GB Crunching

    E6600 3.2Ghz 1.36v - P5B Deluxe / i7 930 4.0Ghz 1.29v - ASUS P6X58D-E / Q9450 3.6Ghz 1.28v - Rampage Formula Retired

  7. #7
    Xtreme Addict
    Join Date
    Jan 2007
    Location
    Michigan
    Posts
    1,785
    I had some issues with using the app_info method because the names of the jobs are continually changing. If the HCC jobs would stay static then using the app_info method to load up extra WU's would have worked better. I found another method to do this though, basically now I'm loading up another boinc client on the same machine. I can control how many threads it attempts to work on by limiting the CPU percentage in the BOINC options.
    Current: AMD Threadripper 1950X @ 4.2GHz / EK Supremacy/ 360 EK Rad, EK-DBAY D5 PWM, 32GB G.Skill 3000MHz DDR4, AMD Vega 64 Wave, Samsung nVME SSDs
    Prior Build: Core i7 7700K @ 4.9GHz / Apogee XT/120.2 Magicool rad, 16GB G.Skill 3000MHz DDR4, AMD Saphire rx580 8GB, Samsung 850 Pro SSD

    Intel 4.5GHz LinX Stable Club

    Crunch with us, the XS WCG team

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •