Seite 1 von 1

PrimeGrid's Birthday Challenge

Verfasst: 07.06.2021 16:18
von Jürgen
Hallo,

in Kürze steht ja der nächste Primegrid-Wettkampf an PrimeGrid's 16th Birthday Challenge (der sich bis auf ein paar Stunden auch mit dem nächsten FB-Sprint überschneidet).
Da ich in der Zeit aber im Urlaub bin, wollte ich den Rechner live durchlaufen lassen. Testweise habe ich eine llrESP-WU geladen, diese krallt sich alle 24 Kerne (ist ein Ryzen 3900x) und wird ca. 5.5 Std brauchen. Aber der Rechner wird nur zu etwa 60% ausgelastet. Langfristiger Load ist 19, allerdings laufen noch die letzten MW-GPU-WUs vom letzen FB-Sprint.
Was sind die Erfahrungen, um den Rechner besser auszulasten ?
  • weitere Instanz(en) parallel laufen lassen
  • eine angepasste cc_config (denke da an 0.5 CPU oder gar 0.25 CPU - ähnlich wie bei den aktuellen OPN-GPU-WUs, nur CPU-basiert)
  • in den Primegrid-Projekteinstellungen die Anzahl der Threads/WU begrenzen und entspr. mehrere gleichzeitig zulassen (beste Erfahrungswerte ?). Wenn man die aber Singlethreaded laufen läßt, dauern die mit fast 6 Tagen zu lange, der Wettbewerb geht nur über 5 Tage!
?

Re: PrimeGrid's Birthday Challenge

Verfasst: 07.06.2021 16:24
von Michael H.W. Weber
Ich würde 3x 8 Kerne pro WU ansetzen.

Michael.

Re: PrimeGrid's Birthday Challenge

Verfasst: 07.06.2021 21:35
von gemini8
24 Kerne oder Threads?
Bei Ryzen nur Kerne nutzen (Boinc Manager auf 50% der Kerne fahren), nach Möglichkeit für Zuordnung von Aufgaben in nur einen Cachebereich sorgen (unter Linux z.B. VMs anlegen; eine pro Cachebereich). FFT x 8 ist Bedarf im Cache; die Größe des Caches bei der Wahl der Aufgabenzahl (FFT x 8 x Anzahl der Aufgaben) nicht überschreiten. Bedenken, dass der FFT-Wert während des Wettkampfes steigen kann.
Die besten Einstellungen für deinen Rechner findest du nur durchs Ausprobieren mit deinem Rechner.

Re: PrimeGrid's Birthday Challenge

Verfasst: 07.06.2021 21:38
von Jürgen
Hi,

ich habe das jetzt umkonfiguriert auf 6 Threads/WU und 4 WUs gleichzeitig.
Die Auslastung ist jetzt etwas besser, aber noch nicht so durchschlagend, ca. 80% (Load von 22, aber immer noch MW-GPU-WUs parallel).

Mein nächster Versuch wäre ein Anpassung per app_config mit cpu_usage 0.5.
Frage: Kann ich auf diesem Weg überhaupt die CPI-Nutzung "überkonfigurieren"?
Alle Beispiele, die ich gefunden haben, beziehen sich auf die CPU-Nutung des GPU-Client.
Hat jemand ein beispiel, wie das aussehen muß?

Re: PrimeGrid's Birthday Challenge

Verfasst: 08.06.2021 05:27
von gemini8
50% bekommst du hin, wenn du entweder in den Boinc Manager Einstellungen die Anzahl der Kerne auf 50% begrenzt, oder wenn du eine app_config.xml nutzt, die den Aufgaben sowohl 1x Rechenkerne als auch 2x Kerne insgesamt zuweist.
Habe ich auf meinen anderen Rechnern; komme ich von diesem aus nicht dran; folgt später.

Auf meinem 3700X habe ich das Problem, dass der Cache zweigeteilt ist. Das sollte beim 3900X auch so sein.
Um den Aufgaben das den Cache übergreifende Arbeiten zu verwehren, habe ich für PrimeGrid LLR Wettkämpfe zwei VMs laufen, denen ich jeweils mit Taskset (glaube zumindest, dass das so heißt) ihre Kerne zuweise.
Dabei reicht es völlig aus, den VMs die tatsächlich benötigten Kerne zu geben und in jeweils in einem der beiden Bereiche des Caches laufen zu lassen.
Der Rest bleibt frei.

(Weil das unter Linux echt umständlich ist, hatte ich schon darüber nachgedacht, den 3700X durch einen 3600 oder 5600 zu ersetzen. Aber die VMs sind eingerichtet, also soll mich das nicht mehr stören.)

Übrigens:
Bei SoB und weiteren Projekten, die den von der Größe her den Cache sprengen, ist es mit dem 3700X sinnvoller, den gesamten, zweigeteilten Cache zu nutzen, als zwei Aufgaben parallel zu rechnen.

Re: PrimeGrid's Birthday Challenge

Verfasst: 08.06.2021 05:52
von gemini8
Meine app_config.xml für den 3700X:

Code: Alles auswählen

<app_config>
<project_max_concurrent>9</project_max_concurrent>
<app>
   <name>llr321</name>
      <max_concurrent>2</max_concurrent>
      <fraction_done_exact/>
</app>
   <app_version>
      <app_name>llr321</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrCUL</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrCUL</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrDIV</name>
      <fraction_done_exact/>
      <max_concurrent>8</max_concurrent>
</app>
   <app_version>
      <app_name>llrDIV</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 1</cmdline>
      <avg_ncpus>2</avg_ncpus>
   </app_version>
<app>
   <name>llrESP</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrESP</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrGCW</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrGCW</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>genefer</name>
      <max_concurrent>3</max_concurrent>
      <fraction_done_exact/>
</app>
   <app_version>
      <app_name>genefer</app_name>
      <plan_class>cpuGFN21</plan_class>
      <cmdline>-nt 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrMEGA</name>
      <fraction_done_exact/>
      <max_concurrent>8</max_concurrent>
</app>
   <app_version>
      <app_name>llrMEGA</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 1</cmdline>
      <avg_ncpus>2</avg_ncpus>
   </app_version>
<app>
   <name>llrPPS</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrPPS</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrPPSE</name>
      <fraction_done_exact/>
      <max_concurrent>8</max_concurrent>
</app>
   <app_version>
      <app_name>llrPPSE</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 1</cmdline>
      <avg_ncpus>2</avg_ncpus>
   </app_version>
<app>
   <name>llrPSP</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrPSP</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrSOB</name>
      <fraction_done_exact/>
      <max_concurrent>1</max_concurrent>
</app>
   <app_version>
      <app_name>llrSOB</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 8</cmdline>
      <avg_ncpus>15</avg_ncpus>
   </app_version>
<app>
   <name>llrSR5</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrSR5</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrTPS</name>
      <fraction_done_exact/>
      <max_concurrent>8</max_concurrent>
</app>
   <app_version>
      <app_name>llrTPS</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 1</cmdline>
      <avg_ncpus>2</avg_ncpus>
   </app_version>
<app>
   <name>llrTRP</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrTRP</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
<app>
   <name>llrWOO</name>
      <fraction_done_exact/>
      <max_concurrent>2</max_concurrent>
</app>
   <app_version>
      <app_name>llrWOO</app_name>
      <plan_class>mt</plan_class>
      <cmdline>-t 4</cmdline>
      <avg_ncpus>8</avg_ncpus>
   </app_version>
</app_config>
Du müsstest die Werte überall anpassen.
Entweder Anzahl Aufgaben erhöhen oder cmdline x2 und avg_ncpus x2.

Re: PrimeGrid's Birthday Challenge

Verfasst: 09.06.2021 22:02
von Jürgen
Hallo,

ich habe jetzt ein bißchen getestet und folgende Zeiten ermittelt:

Code: Alles auswählen

Treads  #parallel   Zeit                                Zeit/Kern
24      1           5:50                                140
6       4           18:31 (17:45,18:46,18:46,18:48)     111
6       2           8:58 (8:59,8:57,8:59,8:58)          108
12      1           5:08 (5:07,5:10)                    123
Am schnellsten geht demnach 2 WUs parallel a 6 Threads, kanpp dahinter 4 WU's a 6 Threads. Diese Variante lasse ich jetzt laufen, dann zählt das auch für wuprop besser.
Weitere Varianten kann ich vorm Urlaub nicht mehr testen.

Re: PrimeGrid's Birthday Challenge

Verfasst: 13.06.2021 10:32
von Michael H.W. Weber
Ich hatte gestern auf meinem Laptop auf den 8 Kernen (nebst HT) 1 ESP angeworfen, die WU dann aber doch relativ rasch wieder heruntergeworfen.
Das Projekt heizt einfach zuviel. :cry2:
Läuft jetzt aber noch auf einer anderen, deutlich potenteren Maschine. Wollen mal sehen, was dabei herrauskommt.

Michael.

Re: PrimeGrid's Birthday Challenge

Verfasst: 17.06.2021 20:02
von Michael H.W. Weber
Hm, sieht nach Platz 13 aus.

Michael.