Neues Projekt: Collatz Conjecture (3x+1)

Status
Für weitere Antworten geschlossen.
@Gipsel, ich hab da jetzt keine benches gefahren, habe nur bemerkt das mehr als 505Mhz Memtakt dann doch was bringt. Und da mich der Strom nicht kratzt juckt es mich folglich auch nicht ;D

btw. 2 Mio. done 8)
 
RESPEKT Xenia Onatopp *massa* und aufgehts zur 3. Mio *attacke*

ich brauch noch ca. 7000 bis zum Tagesziel 333.333,33 aber wird schon (Pending derzeit bei ca. 72000 / Output derzeit bei 6900 Credits/h (irgendwie braucht die 4870x2 ca 30% länger als die 4870 bei gleichen Einstellungen 840/900 ??? ) )
 
danke! ;D

AUA. 840 für GPU - du bist aber hart drauf ;)
 
840 ? naja macht derzeit bei Collatz und 95% Auslastung bei der 4870x2 gerade mal 67°C ist doch voll ok !!!!

Ok bei MW ist sie ca 8°C wärmer .. aber MW is gerade schlecht ...

mich wundert denoch, weshalb die 4870x2 so viel langsamer ist als die 4870 ?
 
*HRNK*

Wasn jetzt los?

Da hat man mal Boinc nen halben Tag aus und anstatt wie morgens noch brav die CUDA-WUs zu berechnen semmelt mir jetzt die App ab.

stderr out

<core_client_version>6.6.36</core_client_version>
<![CDATA[
<message>
- exit code -1073741515 (0xc0000135)
</message>
]]>
 
840 ? naja macht derzeit bei Collatz und 95% Auslastung bei der 4870x2 gerade mal 67°C ist doch voll ok !!!!

Ok bei MW ist sie ca 8°C wärmer .. aber MW is gerade schlecht ...

mich wundert denoch, weshalb die 4870x2 so viel langsamer ist als die 4870 ?

Wieviele Sekunden benötigt die X2 für eine WU?
 
bei der 4870 - ca 730s
bei den 4870x2 - ca 1030s
 
HD4870X2 (2x 800/1000Mhz) [~70 Grad, Lüfter 100%, geschlossenes Gehäuse]
CAL Runtime: 1.4.403
Found 2 CAL devices

Device 0: ATI Radeon HD 4800 (RV770) 1024 MB local RAM (remote 831 MB cached + 831 MB uncached)
GPU core clock: 802 MHz, memory clock: 1000 MHz
800 shader units organized in 10 SIMDs with 16 VLIW units (5-issue), wavefront size 64 threads
supporting double precision

Device 1: ATI Radeon HD 4800 (RV770) 1024 MB local RAM (remote 831 MB cached + 831 MB uncached)
GPU core clock: 802 MHz, memory clock: 1000 MHz
800 shader units organized in 10 SIMDs with 16 VLIW units (5-issue), wavefront size 64 threads
supporting double precision

Initializing lookup table (16384 kB) ... done
0 WUs already running on GPU 0
1 WUs already running on GPU 1
Starting WU on GPU 0
Copy lookup table to GPU memory (16384 kB)
Initialize step array on GPU (128 MB)
predicted runtime per iteration is 43 ms (33.3333 ms are allowed), dividing each iteration in 2 parts
wait factor of 0.45 changes the GPU wait time to 9 ms per part
borders of the domains at 0 2048 4096
No checkpoint data found.
needed 1723 steps for 2361192130908382261720
71191897103276 total executed steps for 137438953472 numbers

WU completed.
CPU time: 228.9 seconds, GPU time: 665.66 seconds
called boinc_finish

HD4870 (1x800 / 800Mhz) [~73 Grad, Lüfter 35%, geschlossenes Gehäuse]
GPU Time: 673.28 - CPU Time: 158.98
[mit der stderr_txt - Ausgabe kann ich nicht dienen, da ich diese bei der Karte ausgeschaltet habe]

HD4850 ( 650 / 993 ): [~65 Grad, Lüfter 100%, geschlossenes Gehäuse]
CAL Runtime: 1.4.403
Found 1 CAL device

Device 0: ATI Radeon HD 4800 (RV770) 512 MB local RAM (remote 831 MB cached + 831 MB uncached)
GPU core clock: 650 MHz, memory clock: 993 MHz
800 shader units organized in 10 SIMDs with 16 VLIW units (5-issue), wavefront size 64 threads
supporting double precision

Initializing lookup table (16384 kB) ... done
0 WUs already running on GPU 0
Starting WU on GPU 0
Copy lookup table to GPU memory (16384 kB)
Initialize step array on GPU (128 MB)
predicted runtime per iteration is 53 ms (33.3333 ms are allowed), dividing each iteration in 2 parts
wait factor of 0.65 changes the GPU wait time to 17 ms per part
borders of the domains at 0 2048 4096
No checkpoint data found.
needed 1723 steps for 2361191312580790380783
71335474989423 total executed steps for 137438953472 numbers

WU completed.
CPU time: 293.001 seconds, GPU time: 852.738 seconds
called boinc_finish

Achja, alle 4 GPUs sind zu 99% ausgelastet.
 
die CPU Time ist ja "gigantisch" - ich hab da max. 30s aber idR. nur so 10s (auch wenn die EXE mit Echtzeit läuft - verwende die vom Server verteilte ATI App 2.00 )

der V8 mit der 4870, Win7x64 rtm


<core_client_version>6.10.5</core_client_version>
<![CDATA[
<stderr_txt>
Running Collatz Conjecture (3x+1) ATI GPU application version 1.2 by Gipsel
instructed by BOINC client to use device 0
Reading input file ... done.
Checking 137438953472 numbers starting with 2361195936737714219368
2361195936737714219368 2361195936875153172840
CAL Runtime: 1.4.403
Found 1 CAL device

Device 0: ATI Radeon HD 4800 (RV770) 1024 MB local RAM (remote 2047 MB cached + 2047 MB uncached)
GPU core clock: 820 MHz, memory clock: 900 MHz
800 shader units organized in 10 SIMDs with 16 VLIW units (5-issue), wavefront size 64 threads
supporting double precision

Initializing lookup table (16384 kB) ... done
0 WUs already running on GPU 0
Starting WU on GPU 0
Copy lookup table to GPU memory (16384 kB)
Initialize step array on GPU (128 MB)
predicted runtime per iteration is 42 ms (33.3333 ms are allowed), dividing each iteration in 2 parts
wait factor of 1 changes the GPU wait time to 21 ms per part
borders of the domains at 0 2048 4096
No checkpoint data found.
needed 1679 steps for 2361195936793078441883
65547013213920 total executed steps for 137438953472 numbers

WU completed.
CPU time: 9.79686 seconds, GPU time: 709.045 seconds
called boinc_finish

</stderr_txt>
]]>


der Zwerg Ath. II x2 250 mit der 4870x2 aufm ATI 785er Board mit Srv03x64sp2

<core_client_version>6.10.5</core_client_version>
<![CDATA[
<stderr_txt>
Running Collatz Conjecture (3x+1) ATI GPU application version 1.2 by Gipsel
instructed by BOINC client to use device 0
Reading input file ... done.
Checking 137438953472 numbers starting with 2361195927666743290216
2361195927666743290216 2361195927804182243688
CAL Runtime: 1.4.403
Found 2 CAL devices

Device 0: ATI Radeon HD 4800 (RV770) 1024 MB local RAM (remote 64 MB cached + 1024 MB uncached)
GPU core clock: 847 MHz, memory clock: 900 MHz
800 shader units organized in 10 SIMDs with 16 VLIW units (5-issue), wavefront size 64 threads
supporting double precision

Device 1: ATI Radeon HD 4800 (RV770) 1024 MB local RAM (remote 64 MB cached + 1024 MB uncached)
GPU core clock: 847 MHz, memory clock: 900 MHz
800 shader units organized in 10 SIMDs with 16 VLIW units (5-issue), wavefront size 64 threads
supporting double precision

Initializing lookup table (16384 kB) ... done
0 WUs already running on GPU 0
0 WUs already running on GPU 1
Starting WU on GPU 0
Copy lookup table to GPU memory (16384 kB)
Initialize step array on GPU (128 MB)
predicted runtime per iteration is 40 ms (33.3333 ms are allowed), dividing each iteration in 2 parts
wait factor of 1 changes the GPU wait time to 20 ms per part
borders of the domains at 0 2048 4096
No checkpoint data found.
needed 1679 steps for 2361195927752083076508
65796597182925 total executed steps for 137438953472 numbers

WU completed.
CPU time: 0.75 seconds, GPU time: 1040.7 seconds
called boinc_finish

</stderr_txt>
]]>
 
Zuletzt bearbeitet:
Ich verwende die ATI-App, welche man unter den Optimierten Apps runterladen kann.
Die höheren CPU-Belastung könnte durch den geringen Wait-Faktor kommen ???
Die höchste CPU-Time hab ich auf einem AMD System, die kleinste auf dem 4Ghz Intel.
 
aso .. muss ich mal ausprobieren ...

ps 23:58 - Total 334,099 dh Tagelziel von 333.333,33 Credits done 8)
neues Ziel 500.000 - is durch aus möglich - 170.000 / Tag
 
ist das normal, dass das boinc alle aufgaben auf einmal startet?
ich hab jetzt hier ca. 20 mal "collatz_2.00_windows_intelx86__ati.exe" laufen wo jeder prozess 24 MB braucht. Das ist doch nicht normal, oder?

auf einem anderen rechner (mit cuda-GK) kommt jetzt immer das hier:

Output file collatz_1253542062_15031_1_0 for task collatz_1253542062_15031_1 absent
und er bricht die einheit mit Fehler ab.

Was ist das nun wieder?
vorher ging es, reset oder ab und wieder anmelden löst das problem nicht. BM 6.10.6
 
Zuletzt bearbeitet:
ist das normal, dass das boinc alle aufgaben auf einmal startet?
ich hab jetzt hier ca. 20 mal "collatz_2.00_windows_intelx86__ati.exe" laufen wo jeder prozess 24 MB braucht. Das ist doch nicht normal, oder?
Nein, das ist nicht normal. Wie hast Du es laufen? Über den automatischen Download der App über den BOINC-Client? Oder hast Du das über eine app_info.xml laufen? Im letzteren Fall nicht den <coproc></coproc> Abschnitt vergessen!

auf einem anderen rechner (mit cuda-GK) kommt jetzt immer das hier:

Output file collatz_1253542062_15031_1_0 for task collatz_1253542062_15031_1 absent
und er bricht die einheit mit Fehler ab.

Was ist das nun wieder?
vorher ging es, reset oder ab und wieder anmelden löst das problem nicht. BM 6.10.6
Schon mal überprüft, welche Version der cudart.dll Du im Collatz-Verzeichnis liegen hast? Falls das nicht die 2.3er ist, vielleicht mal BOINC beenden, File löschen und dann BOINC nach dem Neustart im Zweifelsfall nochmal resetten bzw. Detach/Attach. Dann sollte er sich auf jeden Fall die aktuelle Version ziehen.

Außerdem sind die 6.10.x BOINC-Clients alle noch ein bißchen buggy. Alternative wäre vielleicht mal Twodees Version.
.
EDIT :
.

@Gipsel, ich hab da jetzt keine benches gefahren, habe nur bemerkt das mehr als 505Mhz Memtakt dann doch was bringt. Und da mich der Strom nicht kratzt juckt es mich folglich auch nicht ;D
Hmm, gerade mal mit der schnelleren Variante überprüft, und irgendwie läuft man da in ein Limit. Eigentlich sollte das von der Anzahl der Instruktionen her noch schneller sein können, aber da begrenzt dann doch schon die Bandbreite oder was auch immer (höchstwahrscheinlich die Speicherlatenz, da ja praktisch zufällige Speicherpositionen gelesen werden).
Running Collatz Conjecture (3x+1) ATI GPU application version 1.22 by Gipsel (Win32)
setting priority to normal
Reading input file ... done.
Checking 137438953472 numbers starting with 2361195052592926533992

CPU: AMD Phenom(tm) II X4 940 Processor (4 cores/threads) 3.00012 GHz (0ms)

CAL Runtime: 1.3.145
Found 1 CAL device

Device 0: ATI Radeon HD 4800 (RV770) 512 MB local RAM (remote 28 MB cached + 256 MB uncached)
GPU core clock: 770 MHz, memory clock: 950 MHz
800 shader units organized in 10 SIMDs with 16 VLIW units (5-issue), wavefront size 64 threads
supporting double precision

Initializing lookup table (16384 kB) ... done
0 WUs already running on GPU 0
Starting WU on GPU 0
Copy lookup table to GPU memory (16384 kB)
Initialize step array on GPU (128 MB)
predicted runtime per iteration is 35 ms (33.3333 ms are allowed), dividing each iteration in 2 parts
borders of the domains at 0 2048 4096
No checkpoint data found.
needed 1674 steps for 2361195052610747856319
69399875930031 total executed steps for 137438953472 numbers
Generating result output.
2361195052592926533992
2361195052730365487464
2361195052610747856319
1674
69399875930031

WU completed.
CPU time: 61.1094 seconds, GPU time: 637.438 seconds, wall clock time: 638.112 seconds, CPU frequency: 3.00011 GHz

</stderr_txt>
]]>

Validate state Valid
*suspect*
 
Zuletzt bearbeitet:
Nein, das ist nicht normal. Wie hast Du es laufen? Über den automatischen Download der App über den BOINC-Client? Oder hast Du das über eine app_info.xml laufen? Im letzteren Fall nicht den <coproc></coproc> Abschnitt vergessen!
hiess es nicht bei "altem" BM (<6.10.*) muss man das rausnehmen?
app wird über eine app_info.xml mit folgendem Inhalt gestartet:
<app_info>
<app>
<name>collatz</name>
</app>
<file_info>
<name>collatz_2.00_windows_intelx86__ati.exe</name>
<executable/>
</file_info>
<file_info>
<name>brook32.dll</name>
<executable/>
</file_info>
<app_version>
<app_name>collatz</app_name>
<version_num>200</version_num>
<avg_ncpus>0.05</avg_ncpus>
<max_ncpus>1</max_ncpus>
<flops>1.0e11</flops>
<cmdline>n1</cmdline>
<file_ref>
<file_name>collatz_2.00_windows_intelx86__ati.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>brook32.dll</file_name>
</file_ref>
</app_version>
</app_info>
BM ist hier 6.6.23 von 2D

Schon mal überprüft, welche Version der cudart.dll Du im Collatz-Verzeichnis liegen hast? Falls das nicht die 2.3er ist, vielleicht mal BOINC beenden, File löschen und dann BOINC nach dem Neustart im Zweifelsfall nochmal resetten bzw. Detach/Attach. Dann sollte er sich auf jeden Fall die aktuelle Version ziehen.

Außerdem sind die 6.10.x BOINC-Clients alle noch ein bißchen buggy. Alternative wäre vielleicht mal Twodees Version.
ist die richtige Version (2.3), 6.6.36 geht auch nicht, 6.6.23 von 2D: gleicher fehler
 
Zuletzt bearbeitet:
hiess es nicht bei "altem" BM (<6.10.*) muss man das rausnehmen?
Dann sollte man aber wenn möglich, auf andere Weise die Anzahl der gestarteten Tasks begrenzen. Außerdem dachte ich, Du hast 6.10.6 laufen?
app wird über eine app_info.xml mit folgendem Inhalt gestartet:
<app_info>
[..]
<avg_ncpus>0.05</avg_ncpus>
[..]
</app_info>
BM ist hier 6.6.23 von 2D
Das dürfte das Problem sein, falls das über das normale Scheduling des Clients läuft. Wenn Du allerdings Twodees Client einsetzt, spielt es keine Rolle, solange der Client ordungsgemäß konfiguriert ist (in der cc_config.xml, siehe dem passenden Thread hier). Dann sollte er aber auch nur so viele WUs starten, wie dort angegeben.
 
Wieso bekomme ich keine WUs mehr für CPU? der Q6600 saugt sich mit 170 CUDA-WUs voll, requestet brav CPU-WUs bekommt aber keine..... und nu?
 
Dann sollte man aber wenn möglich, auf andere Weise die Anzahl der gestarteten Tasks begrenzen. Außerdem dachte ich, Du hast 6.10.6 laufen?
sind zwei verschiedene rechner der mit den 38 mal collatz hat 2Ds client drauf

Das dürfte das Problem sein, falls das über das normale Scheduling des Clients läuft. Wenn Du allerdings Twodees Client einsetzt, spielt es keine Rolle, solange der Client ordungsgemäß konfiguriert ist (in der cc_config.xml, siehe dem passenden Thread hier). Dann sollte er aber auch nur so viele WUs starten, wie dort angegeben.

hab den <avg_ncpus> wert mal auf 0.5 gesetzt, jetzt startet er nur noch 4 mal die app, das geht jetzt, versteh ich aber trotzdem nicht.
cc_config.xml ist:
<cc_config>
<options>
<report_results_immediately>1</report_results_immediately>
<zero_debts>1</zero_debts>
<start_delay>10</start_delay>
</options>


<projects_options>
<projectname>milkyway@home</projectname>
<timeintervall>900</timeintervall>
<hostinfo_ncpus>16</hostinfo_ncpus>
<requestworktime>3600</requestworktime>
<use_ncpus>3</use_ncpus>
<avr_ncpus>0</avr_ncpus>
<high_prio>1</high_prio>
</projects_options>

</cc_config>
 
@Holly

du hast schon den aktuellsten BoincCore von mir? Der vorherige war nur für MW freigegeben bzw. für andere Projekte gesperrt.

@Gipsel:

Ich bekomme seit heute auf einem Rechner mit Cuda-Karte folgende Fehlermeldung:
<core_client_version>6.6.23</core_client_version>
<![CDATA[
<message>
Es gibt keine untergeordneten Prozesse, auf die gewartet werden muss. (0x80) - exit code 128 (0x80)
</message>
]]>
Reset+Neustart/Reboot brachte nix :(
 
wobei ich aber noch einen weiteren rechner, mit 2xcuda-karten, problemlos am laufen habe....
 
@Gipsel:

Ich bekomme seit heute auf einem Rechner mit Cuda-Karte folgende Fehlermeldung:

Reset+Neustart/Reboot brachte nix :(
Mit der CUDA-App habe ich direkt nicht so viel zu tun, da hat Slicker die ATI-Version sozusagen "übersetzt". Ein wenig was vom drumherum (z.B. Generierung der Lookup-Table) dürfte direkt von mir stammen, aber alles CUDA-Spezifische nicht. Ich habe keine einzige passende Karte und auch nicht den Code, kann da also eher wenig zu sagen.

PS:
Bei Collatz könnten die HD5000er Karten übrigens gar nicht so gut aussehen. Wie mir scheint, begrenzt wirklich die Speicherlatenz/Bandbreite bei wahlfreiem Zugriff. Auf einer HD4870 sehe ich schon an die 60GB/s genutzte Bandbreite, wie gesagt bei zufälligem Zugriff auf die 16MB-Lookup-Table (da nutzen die Caches auch nichts). Eigentlich erstaunlich, daß der Speichercontroller das noch so gut hinbekommt. Ein 512Bit-Speicherinterface für Cypress wäre im Fall von Collatz nett gewesen. Mit größeren Puffern in den Speichercontrollern ist vielleicht noch etwas Effizienz drin, aber das wird schon verdammt eng werden. Dafür dürfte MW ordentlich skalieren ;)
 
Ich habe hier noch eine HD4770 die wir aber erst mit Treiberversion 8.5 erkannt, gibt es eine Möglichkeit die bei MW oder CC laufen zu lassen.
 
Der Fehler mit der Cuda-Karte kommt durch eine nicht vorhandene cudart.dll datei.
 
Ich habe hier noch eine HD4770 die wir aber erst mit Treiberversion 8.5 erkannt, gibt es eine Möglichkeit die bei MW oder CC laufen zu lassen.
Du meinst wahrscheinlich 9.5?

Unter Vista/Win7 auf jeden Fall (evt. aber neueren Treiber nehmen, also 9.9 oder so). Unter XP gibt es in letzter Zeit auch ein paar erfolge mit 9.8 oder 9.9, da mußt Du mal ein wenig probieren. Aber immer gilt bei neueren Treibern, das Umkopieren der CAL-dlls nicht vergessen!
 
Du meinst wahrscheinlich 9.5?

Unter Vista/Win7 auf jeden Fall (evt. aber neueren Treiber nehmen, also 9.9 oder so). Unter XP gibt es in letzter Zeit auch ein paar erfolge mit 9.8 oder 9.9, da mußt Du mal ein wenig probieren. Aber immer gilt bei neueren Treibern, das Umkopieren der CAL-dlls nicht vergessen!

unter XP mit 8.5 .dlls habe ich immer mit kopiert
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten