Stránka 1 z 2

app_config.xml

Napsal: ned 26 kvě, 2013 15:42
od vkliber
Od verze BOINC 7.0.40+ byla přidána nová možnost nastevení počtu současně běžících jednotek konkrétní aplikace.
Jedná se o soubor app_config.xml, který se podobně jako soubor app_info.xml umísťuje do projektového adresáře. Např. pro projekt WCG to bude do adresáře D:\Boinc\Data\projects\www.worldcommunitygrid.org\ (v závislosti na instalačním adresáři BOINC).

Nastavení pomocí souboru app_config.xml použijeme tehdy, pokud si sami chceme řídit počet současně běžících jednotek konkrétní aplikace. Nejčastěji použijeme tehdy, pokud chceme zvýšit počet běžících jednotek na GPU. Můžeme ale i použít pokud chceme omezit počet současně spuštěšných jednotek na CPU, například u některých paměťově velice náročných aplikacích (WCG-CEP2, RNA World, ...)

Struktura souboru app_config.xml

Kód: Vybrat vše

<app_config>
  <app>
    <name>xxx</name>
    <max_concurrent>x</max_concurrent>
    <gpu_versions>
      <gpu_usage>x</gpu_usage>
      <cpu_usage>x</cpu_usage>
    </gpu_versions>
  </app>
</app_config>
Sekce <app> je pro každou aplikaci kterou chci ovládat. Nemusí se vyjmenovat všechny aplikace projektu. Ty které nejsou vyjmenovány, budou počítány podle standardního nastavení.
Sekce <gpu_versions> je nepoviná a můžete ji použít pro nastavení GPU jednotek dané aplikace.

<name>xxx</name> ... zkrácený název aplikace, který nejdete v sekci <name>xxx</name> daného projektu v souboru client_state.xml.

<max_concurrent>X</max_concurrent> ... maximální počet souběžně běžícich úkolů (na GPU i CPU současně) dané aplikace v jednom okamžiku. První budou naplněny GPU úkoly (pokud jsou k dispozici) a až poté CPU úkoly. Pokud je např. na systému s jednou GPU nastaveno 5 a gpu_usage je nastaveno na 0.25 a jsou k dispozici úkoly pro CPU a GPU zároveň, spustí se 4 úkoly na GPU a jeden úkol na CPU.

<gpu_usage>x</gpu_usage> ... jakou část GPU si vezme pro sebe jedna spuštěná jednotka. Neboli obrácená hodnota počtu souběžně běžícich úkolů na GPU. Chci-li, aby mi na GPU běžely 4 jednotky najednou, nastavím 1/4 tedy 0.25. Jedná se o nastavení na jednu GPU. Mám-li nastaveno 0.25 a mám dvě GPU, poběží mi celkem 8 jednotek.

<cpu_usage>x</cpu_usage> ... jakou část CPU si vezme pro sebe jedna spuštěná GPU jednotka. Nejedná se o skutečné nastavení zatížení CPU, ale jedná se pouze o informaci pro BOINC scheduler, kolik výkonu CPU si má rezervovat jedna GPU jednotka. Pokud mám 4-jádro a jednu GPU, a nastavím si <gpu_usage>0.25</gpu_usage> a <cpu_usage>0.25</cpu_usage> poběží mi 4 jednotky na GPU a 3 jádra budou volná pro CPU jednotky. Pokud si nastavím <gpu_usage>0.25</gpu_usage> a <cpu_usage>0.50</cpu_usage> poběží mi 4 jednotky na GPU a pouze 2 jádra budou volná pro CPU jednotky.

Jaká je vazba mezi app_config.xml a app_info.xml zatím netuším, ani nemám vyzkoušené co se stane, když budou nastaveny oba konfigurační soubory s naprosto odlišným nastavením.
EDIT by nenym: přednost má app_config.xml.

Oproti souboru app_info.xml má nastavení pomocí app_config.xml tu výhodu, že se nemusí vyjmenovávat konkrétní aplikační spustitelný souobor, proto při změně verze aplikace (ale zachování jména aplikace) se nemusí na straně klienta nic znovu nastavovat. Rovněž tak pokud v app_config.xml některá aplikace chybí, neznamená to že se nebude počítat, pouze se použije standardní nastavení.


EDIT : více na wiki

EDIT by nenym:
Úplná struktura souboru

Kód: Vybrat vše

<app_config>
   [<app>
      <name>Application_Name</name>
      <max_concurrent>1</max_concurrent>
      [<report_results_immediately/>]
      [<fraction_done_exact/>]
      <gpu_versions>
          <gpu_usage>.5</gpu_usage>
          <cpu_usage>.4</cpu_usage>
      </gpu_versions>
    </app>]
   ...
   [<app_version>
       <app_name>Application_Name</app_name>
       [<plan_class>mt</plan_class>]
       [<avg_ncpus>x</avg_ncpus>]
       [<ngpus>x</ngpus>]
       [<cmdline>--nthreads 7</cmdline>]
   </app_version>]
   ...
   [<project_max_concurrent>N</project_max_concurrent>]
   [<report_results_immediately/>]
</app_config>
<fraction_done_exact/> je funkční od verze 7.3.13, odhaduje čas do konce úlohy podle aktuálního progress bar
<project_max_concurrent>x</project_max_concurrent> je funkční od verze 7.4.9

Re: app_config.xml

Napsal: ned 26 kvě, 2013 16:13
od bundaboy
Takze pokud bych chtel napr. u Rosetty omezit na 8jadru, aby se pocitaly jen 3 ukoly, bude app_config:

Kód: Vybrat vše

<app_config>
  <app>
    <name>minirosetta</name>
    <max_concurrent>3</max_concurrent>
  </app>
</app_config>
A zbytek CPU jader si vezme automaticky jiny projekt? U te 7.x.x verze si ted nejsem jisty vubec nicim... 45ff

Re: app_config.xml

Napsal: ned 26 kvě, 2013 18:04
od vkliber
bundaboy píše:...
A zbytek CPU jader si vezme automaticky jiny projekt?
...
Ano, přesně tak.

Re: app_config.xml

Napsal: úte 28 kvě, 2013 17:16
od Pepino65
Vítku, díky za tip. To se mi opravdu hodilo. 45uu

Re: app_config.xml

Napsal: stř 19 čer, 2013 06:14
od Frenk
Hlasim, odzkouseno a funguje :smt023 tohle je dobrá hracicka, Konecne neco v 7.x.x. co stoji za povsimnutí

Re: app_config.xml

Napsal: stř 06 kvě, 2015 09:24
od nenym
Upravil a doplnil jsem základní příspěvek.

Re: app_config.xml

Napsal: ned 19 bře, 2017 07:30
od Dzordzik
Ahoj,
zkoušel jsem si dneska hrát na 1080Ti u GPUGridu s tím, že bych pustil 2 jednotky naráz, jenže mi moje nastavení v praxi nefunguje. Spustí se vždy pouze jedna jednotka. Vede mě k tomu to, že mám při výpočtu zatížení max kolem 52%, ne víc. Co mám špatně?

<app_config>
<app>
<name>acemdbeta</ name>
<max_concurrent>4</ max_concurrent>
<gpu_versions>
<gpu_usage>0.5</ gpu_usage>
<cpu_usage>0.499</ cpu_usage>
</gpu_versions>
</app>
</app_config>
<app_config>
<app>
<name>acemdlong</ name>
<max_concurrent>4</ max_concurrent>
<gpu_versions>
<gpu_usage>0.5</ gpu_usage>
<cpu_usage>0.499</ cpu_usage>
</gpu_versions>
</app>
</app_config>
<app_config>
<app>
<name>acemdshort</ name>
<max_concurrent>4</ max_concurrent>
<gpu_versions>
<gpu_usage>0.5</ gpu_usage>
<cpu_usage>0.499</ cpu_usage>
</gpu_versions>
</app>
</app_config>

Stejně mi hlásí že používá 0.944 CPU a 1 GPU, jako by to nastavení ignoroval. Nemám blbě název podprojektu?

Re: app_config.xml

Napsal: ned 19 bře, 2017 08:54
od nenym
Možné příčiny:
1. Špatný adresář
2. Špatný název souboru
3. Načetl jsi konfigurační soubory/restart core po vytvoření app_config?
Název vypadá dobře, lze porovnat s client_state.xml, sekce projektu GPUGRID.
Obsazení GPU/CPU se zapisuje v okamžiku natažení ze serveru, při změně parametrů se zápis neupravuje.

Re: app_config.xml

Napsal: ned 19 bře, 2017 09:38
od Dzordzik
Název souboru je app_config.xml a je v adresáři projektu, tj. c:\ProgramData\BOINC\projects\www.gpugrid.net
Konf. soubory jsem zkoušel načítat několikrát. U Koláče s tím nemám problém, změním parametry a počítá se rozdílné množství jednotek /GPU, takže vím jak to funguje- U GPUGridu mi to ale z neznámého důvodu nefunguje. Napadá mě jestli jsou správně názvy projektů ale to jsem kontroloval podle příkladů z netu a mělo by to být ok.
Ještě jsem k tomuto tématu našel toto v souvislosti s GPUGridem:

You can't run two workunits on a single GPU simultaneously (the hosts configured to do so will have an idle GPU, so they have to be reconfigured)
2. It will reduce the RAC of every host, so it will reduce the overall RAC of GPUGrid, because the host won't receive a new GPUGrid workunit until the finished one is uploaded. Hosts without backup projects will be idle during the upload/download period, while hosts with backup projects will process (at least) one workunit from the backup project between GPUGrid workunits, as it will force the host to get work from the backup project(s) until the finished GPUGrid workunit is uploaded.

Re: app_config.xml

Napsal: ned 19 bře, 2017 12:02
od forest
Nakopíruj sem prosím zprávy z BOINC Managera po tom, co klukneš na "Načíst konfigurační soubor". V tom výpuse určitě najdeme, kde je zakopaný pes 45cc

Osobně si myslím, že tam je špatně to opakování:
</app_config>
<app_config>
Na začátku souboru by mělo být <app_config> a až na jeho konci </app_config>.

Re: app_config.xml

Napsal: ned 19 bře, 2017 13:46
od Dzordzik
Missing </app> in app_config.xml

a to i když v tom mám jenom:
<app_config>
<app>
<name>acemdlong</ name>
<max_concurrent>8</max_concurrent>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>0.499</cpu_usage>
</gpu_versions>
</app>
</app_config>

Re: app_config.xml

Napsal: ned 19 bře, 2017 17:14
od vkliber
Na řádku <name>acemdlong</ name> máš mezeru mezi v </ name>

Validní je

Kód: Vybrat vše

<app_config>
  <app>
    <name>acemdlong</name>
    <max_concurrent>8</max_concurrent>
    <gpu_versions>
      <gpu_usage>0.5</gpu_usage>
      <cpu_usage>0.499</cpu_usage>
    </gpu_versions>
  </app>
</app_config> 

Re: app_config.xml

Napsal: ned 19 bře, 2017 17:56
od Dzordzik
Zkusím a dám vědět. Sejří mě, že na 1080Ti je u GPUGrid u short jednotky vytížení GPU max 20%, výše to nejde. Proto bych chtěl zkusit co to udělá pustit 2 najednou. Zatím děkuju.

Re: app_config.xml

Napsal: ned 19 bře, 2017 18:07
od Dzordzik
Tak /app chyba zmizela objevila se nová.
Your app_config.xml file refers to an unknown application 'acemdlong'. Known applications: 'acemdshort'
Jaký je správný název projektu pro dlouhé jednotky mohu-li mihu-le se zeptat?

Re: app_config.xml

Napsal: ned 19 bře, 2017 19:20
od Jozef J
Na gpu grid to nejde. vyberat si jednotky. to by tam potom rychlo dosli tie dlhe a kreditovo bohate 45hh . zvlast ked nikdy nevie clovek co dostane od nich za jednotku. A odstrelovat tie jednotky co nechces tiez nefunguje lebo po par chybnych od teba zablokuje tvoj host-pocitac,aj na dva dni niekedy )) tam na fore tiez vysvetlene preco gpu grid nerobi jednotky co na najsilnejsich kartach by mohli ist na 100% . na tych len tak do 80% .nevytazenost nvidi 108x serie je znama tam. aj k preto tam u najvacsich poctarov ako zoltan prevladaju 980ti karty. tie su tam najvyhodnejsie v pomere cena/rac a aj vytazenie gpu.. 1080 seria je tam zbytocna. graficke karty pre boinc je najvyhodnejsie kupovat podla toho aky projekt sa rozhodnes podporovat .. u gpu grid urcite 980ti

Re: app_config.xml

Napsal: ned 19 bře, 2017 19:55
od Dzordzik
Rozumím ale např. u Koláče zafungovalo pustit na mojí GK ne 3 ale 4 jednotky, teprve pak jede opravdu na max a je to nejen vidět ale i slyšet :-) Dneska jsem po tom pátral a ledaskdo, včetně Zoltána, doporučuje, pokud máš malé vytížení GPU, pustit 2 jednotky naráz a prostě to vyzkoušet. O což se snažím, leč neúspěčně a jsem si jistý, že config mám správně, opajcnul jsem ho přímo od Zoltána.

Re: app_config.xml

Napsal: ned 19 bře, 2017 21:39
od forest
Počítat dvě jednotky naráz určitě lze.
Napiš sem prosím svůj finální(myšleno aktuální) app_config.xml. Těch chyb a úprav už bylo několik a těžko tedy nyní radit co znamená ta chybová hláška.
Zároveň prosím napiš, jaké aplikace máš povolené na projektu.

Re: app_config.xml

Napsal: pon 20 bře, 2017 06:32
od Dzordzik
<app_config>
<app>
<name>acemdlong</name>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
<app>
<name>acemdshort</name>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
</app_config>

je aktuální stav, naprosto stejně to má x lidí na netu co jsem dohledal ale stejně mi to hlásí:
Your app_config.xml file refers to an unknown application 'acemdlong'. Known applications: 'acemdshort'

Povolené mám jenom long jednotky.
Podivné je že aniž bych něco změnil tak dneska to funguje. Asi se to potřebovalo vyspat.

Vytížení 1060 vzrostlo na 80% a 1080Ti na 54% na GPU. Výtěžnost je na delší zkoumání díky délce jednotek.

Re: app_config.xml

Napsal: úte 21 bře, 2017 00:17
od ® Plšák Ráďa ®
Ahoj, i když bys měl správně napsaný app_config.xml a vypsal všechny podprogramy, co existují v daném projektu, tak dokud si počítač nestáhl patřičný soubor pro počítání dané práce *.exe, bude ti BOINC prostě hlásit, že daný soubor pro tu a tu činnost nezná. Prostě nejdříve nataháš práci a pak podle potřeby edituješ app_config.xml. Tohle se mi stalo například u projektu PrimeGrid, kde jsem si zkopíroval z jednoho počítače app_config.xml do druhého, ale jelikož tam bylo v něm i obsaženy podprojekty, které ještě druhý počítač nepočítal, hlásilo to chybové hlášky, že ten a ten název práce nezná.

Za další pokud si dobře vzpomínám na chování projektu GPUGrid, dokud se nestaneš spolehlivým počtářem, který odevzdává několik dní odevzdanou práci, nebudeš do té doby dostávat více než jednu jednotku denně. To samé se stane i když si dáš delší pauzu od projektu a chceš znovu počítat, nejdříve musíš dostat dobré ohodnocení 45ff

Více než 2 jednotky práce na GPU, nejde u tohoto projektu získat, buď 2 long nebo 1long + 1 short nebo 2 short jednotky. Pro znalé počtáře je lepší počítat jenom long a na short se 45oo. Jen ty delší více bolí, když se ti nezvalidují, jeden čas bylo období, kdy strašně vycházela validace long jednotek, že se to nevyplatilo ani počítat tento projekt. Rozhodně doporučuji u tohohle projektu GPUGrid pravidelně kontrolovat validaci, než vyhazovat do luftu čas a peníze za elektriku.

Re: app_config.xml

Napsal: úte 21 bře, 2017 06:56
od Dzordzik
Validaci si hlídám, spolehlivý evidentně jsem, nemám problém dostat i 4 jednotky naráz na 2 grafiky (2 pro každou). Jedu jenom long.