app_config potrzebny

Zaczęty przez d_worms, 10 Sierpień 2013, 04:52

d_worms

Mam pytanie czy ktoś z was używa albo wie jak powinien wyglądać poprawnie stworzony app_config/inf dla einstein dla mojego PC (gtx680 i 9800GX2)
Chodzi mi o to aby (GF680 <device_num>0</device_num>)  liczył 3 próbki jednocześnie a (GF9800 po jednej gdyż jest to karta z 2 rdzeniami <device_num>1</device_num> i <device_num>2</device_num>)
Zaznaczę ze gdyzmienie ustawienia na stronie na 0.33 to wszystkie rdzenie liczą po 3 próbki na raz w GTX680 potrzebuje 4h na próbkę a 9800 po ponad 32h poddałem się gdyż BOINC pokazywał ze ukończył dopiero 14% a gdy liczy jedna próbkę to potrzebuje niespełna 5h.
Na razie GTX680 liczy einstein a 9800 PRIME

Wymyśliłem coś takiego ale go do katalogu z danymi  projektu wszystkie 3 rdzenie zaczynają liczyć po jednej próbce.
Jakieś pomysły sugestie?? (poza tym aby zamienic GF9800 na 2 gtx680)
Dzieki

Bez <use_all_gpus>1</use_all_gpus> BOINC nie widzi GF9800GX2
Czy jest cos takiego w ogole mozliwe.

WOW WOW panowie powoli bo nie nadazam z za waszymi pomyslami
Dzieki

<app_config>
   <app>
<options>
<report_results_immediately>1</report_results_immediately>
<use_all_gpus>1</use_all_gpus>

      <name>einsteinbinary_BRP5</name>
      <device_num>0</device_num>
      <max_concurrent>3</max_concurrent>
      <gpu_versions>
          <gpu_usage>.33</gpu_usage>
          <cpu_usage>.3</cpu_usage>
          </gpu_versions>

        <name>einsteinbinary_BRP5</name>
        <device_num>1</device_num>
      <max_concurrent>1</max_concurrent>
      <gpu_versions>
          <gpu_usage>1</gpu_usage>
          <cpu_usage>.3</cpu_usage>
          </gpu_versions>

<name>einsteinbinary_BRP5</name>
       <device_num>2</device_num>
      <max_concurrent>1</max_concurrent>
      <gpu_versions>
          <gpu_usage>1</gpu_usage>
          <cpu_usage>.3</cpu_usage>
</gpu_versions>

    </app>
</app_config>

Dario666

#1
Ja mam 1 kartę graficzną i liczę tylko 1 WU na raz. Mój konfig:

Cytat<app_config>
<app>
<name>einsteinbinary_BRP5</name>
  <max_concurrent>1</max_concurrent>
  <gpu_versions>
    <gpu_usage>0.2</gpu_usage>
    <cpu_usage>0.3</cpu_usage>
  </gpu_versions>
</app>
</app_config>

Jak zmianiam <max_concurrent> to zmienia sie liczba liczonych próbek jednocześnie, ale jak zmieniam <gpu_usage> lub <cpu_usage> to nie powoduje to kompletnie żadnego efektu. czy ktoś wie dlaczego?

ODP do 1 posta:

Może dlatego, że tag <options> nie jest zamknięty 2 linie niżej.

Teech

wydaje mi się że <max_concurrent> to maksymalna ilość próbek gpu masz 0.2 czyli 5 próbek a cpu przydzielona ilość %procka <max_concurrent>musisz mieć 5

Dario666

Z moich doświadczeń wynika, że <max_concurrent> okresla liczbę jednocześnie liczonych WU, a <gpu_usage> i <cpu_usage> określaja średnie obciążenie procesora GPU i CPU.
Dlatego jak ktoś wpisuje w <max_concurrent> 5 to w pozostałych 0.2, aby obciążyć sprzęt na 100%. Jednach mi chodzi o obiążenie karty nie na 100, ale np. na 20%.

Tobas

Koledzy to wszystko jest bardzo czytelnie wyjaśnione tutaj:

http://boinc.berkeley.edu/trac/wiki/ClientAppConfig

a jeszcze dokładniej tutaj:

http://boinc.berkeley.edu/wiki/Client_configuration

Cytat
Application configuration

This mechanism allows you to specify scheduling parameters associated with specific applications or app versions. It is available with 7.0.40+ client versions.
To do this, create a file app_config.xml in the project's directory, e.g. when the project is Seti: {BOINC Data directory}\projects\setiathome.berkeley.edu\
Use the following format:
<app_config>
   [<app>
      <name>uppercase</name>
      <max_concurrent>1</max_concurrent>
      <gpu_versions>
          <gpu_usage>.5</gpu_usage>
          <cpu_usage>.4</cpu_usage>
      </gpu_versions>
    </app>]
   ...
   [<app_version>
       <app_name>uppercase</app_name>
       [<plan_class>mt</plan_class>]
       [<avg_ncpus>x</avg_ncpus>]
       [<ngpus>x</ngpus>]
       [<cmdline>--nthreads 7</cmdline>]
   </app_version>]
   ...
</app_config>
All the tags use lowercase characters. The app_name may contain uppercase characters.
Each <app> element specifies parameters for a given application:
name
short name of the application as found in the appropriate <name>xxxxx</name> tags in your client_state.xml file. The name is in lower case characters (the 'uppercase' in the above is an example of the application name).
max_concurrent
The maximum number of tasks of this application to run at a given time.
gpu_usage
The number of GPU instances (possibly fractional) used by GPU versions of this app.
cpu_usage
The number of CPU instances (possibly fractional) used by GPU versions of this app.
Each <app_version> element specifies parameters for a given app version; it overrides <app>. Supported in 7.3+ clients.
app_name
the short name of the application.
plan_class
the plan class of the app version.
avg_ncpus
the number of CPU instances (possibly fractional) used by the app version.
ngpus
the number of GPU instances (possibly fractional) used by the app version.
cmdline
command-line parameters to pass to the program.

Wyraźnie wynika z tego, że <max_concurrent> oznacza ile ma być jednocześnie liczonych WU danej aplikacji (<app_name>)
Nie ma to znaczenia czy jest to aplikacji GPU czy CPU
Natomiast to co jest w sekcji <gpu_versions> mówi ile dane (jedne) WU ma zająć GPU i ile CPU

Czyli zaznaczając np. <max_concurrent>4
gpu_usage .25
cpu_usage .5

Będziemy mieli liczone na raz 4WU, z czego każde zeżre 1/4 grafy i 1/2 rdzenia proca.
W sumie musimy oddelegować całą grafę i dwa rdzenie CPU

Dario666

No właśnie o to mi chodziło, ale u mnie na Einsteinie to nie działa. Tzn. nie działa przydział mocy GPU i CPU.