Seite 1 von 1
Re: Raspian contra Debian armel
Verfasst: 26.05.2013 15:52:28
von wanne
schorsch_76 hat geschrieben:Das hat ja syssi gemacht mit -Ofast.... Mir ging es nur um den Test der ABI. Der Rest war ja nicht interessant
Das was ich halt Problematisch an deiner Methode halte ist folgendes:
Wenn du irgendwie sowas hast:
Dann hast du bei -O0 das problem dass das dir jedes mal die pipeline killt. Sprich dein Amd Geode LX, mit sehr langer Pipeline, arbeitet die meiste Zeit gar nicht sondern wartet, dass das alte Ergbnis zur Verfügung steht.
Bei -O3 hast du das Problem das er dir die Schleife einfach wegoptimiert.
Re: Raspian contra Debian armel
Verfasst: 26.05.2013 16:47:47
von schorsch_76
Dann kuck nochmal in den Quellcode .... das ist definitiv falsch.
Re: Raspian contra Debian armel
Verfasst: 26.05.2013 16:49:21
von DeletedUserReAsG
syssi hat geschrieben:Ich dachte ja immer, dass mein Pogoplug E02 es mit einem Raspberry Pi aufnehmen koennte. Scheint aber nicht der Fall zu sein: […]
Naja, schorsch_76 hat’s nur 100x durchlaufen lassen. So gesehen schlägt es das Pi also durchaus …
cu,
niemand
Re: Raspian contra Debian armel
Verfasst: 26.05.2013 17:05:04
von wanne
Habe den Source nicht gesehen aber zumindest das erste Problem ist drin:
Code: Alles auswählen
for (i = 0; i < array_size;++i)
g_double3[i] = g_double1[i] + g_double2[i];
Einzelne Addition; Sprung; Einzelne Addition; Sprung... (mit O3 dürfte das gcc dir das aber beseitigt haben.)
Und das zweite hast du dadurch ersetzt, dass er jetzt ziemlich schnell durch den speicher läuft, sodass mitunter der das bottleneck sein kann. Wobei das bei den alten CPUs noch nocht so Problematisch war weil die selbst lahm sind.
Re: Raspian contra Debian armel
Verfasst: 27.05.2013 23:10:45
von syssi
niemand hat geschrieben:syssi hat geschrieben:Ich dachte ja immer, dass mein Pogoplug E02 es mit einem Raspberry Pi aufnehmen koennte. Scheint aber nicht der Fall zu sein: […]
Naja, schorsch_76 hat’s nur 100x durchlaufen lassen. So gesehen schlägt es das Pi also durchaus …
Stimmt. Ich habe die paar Zeilen Code nochmal mit 100 Runden laufen lassen:
Code: Alles auswählen
$ ./a.out
Init Arrays: 2
Running 100 Cycles ...
Int Test: 30
Float Test: 64
Double Test: 141
$ g++ -Ofast test.cpp
$ ./a.out
Init Arrays: 1
Running 100 Cycles ...
Int Test: 19
Float Test: 53
Double Test: 116
$
Ich bleibe dem Pogoplug also weiter treu.
Gruss syssi
Re: Raspian contra Debian armel
Verfasst: 07.08.2013 22:30:10
von schorsch_76
Nachdem ich mal wieder mit den RPi beschäftigt habe, habe ich einen besseren Performancetest gefunden. [1]
Der RPi macht mit 700 MHz wie hier beschrieben um 43000 KFLOPS mit Rasbian.
Raspian:
Code: Alles auswählen
./linpack
Enter array size (q to quit) [200]:
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance:
Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
----------------------------------------------------
16 0.56 89.29% 1.79% 8.93% 43084.967
32 1.11 89.19% 4.50% 6.31% 42256.410
64 2.22 88.74% 4.05% 7.21% 42666.667
128 4.44 89.19% 2.70% 8.11% 43084.967
256 8.87 88.61% 3.83% 7.55% 42874.797
512 17.74 88.67% 2.99% 8.34% 43243.952
Debian Armel:
Code: Alles auswählen
root@debian-armel:~# ./linpack
Enter array size (q to quit) [200]:
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance:
Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
----------------------------------------------------
4 0.71 91.55% 2.82% 5.63% 8199.005
8 1.42 91.55% 2.11% 6.34% 8260.652
16 2.84 90.85% 2.82% 6.34% 8260.652
32 5.68 91.20% 2.99% 5.81% 8214.330
64 11.35 90.75% 2.82% 6.43% 8276.208
Man sieht das das ABI sehr deutlich was ausmacht. zwischen 8200 KFLOP und 43000 KFLOP ist schon was. Faktor 5. Wow!
Hier noch etwas Offtopic: Vergleich auf dem i7:
Code: Alles auswählen
cc -O3 -o linpack linpack.c -lm
./linpack
Enter array size (q to quit) [200]:
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance:
Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
----------------------------------------------------
1024 0.74 75.68% 4.05% 20.27% 2383548.023
2048 1.48 83.11% 5.41% 11.49% 2147012.723
4096 2.95 86.10% 2.03% 11.86% 2163528.205
8192 5.91 82.06% 2.37% 15.57% 2254578.490
16384 11.79 83.12% 2.63% 14.25% 2225587.867
und nochmal mir -march=native
Code: Alles auswählen
cc -O3 -march=native -o linpack linpack.c -lm
./linpack
Enter array size (q to quit) [200]:
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance:
Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
----------------------------------------------------
1024 0.82 75.61% 3.66% 20.73% 2163528.205
2048 1.16 75.00% 3.45% 21.55% 3090754.579
4096 2.33 79.83% 1.72% 18.45% 2960617.544
8192 4.65 75.91% 2.80% 21.29% 3073865.209
16384 9.31 78.09% 2.04% 19.87% 3016178.731
32768 18.63 77.13% 2.42% 20.45% 3036530.814
Das -march=native so viel ausmacht hätte ich nicht erwartet. Auf dem RPi habe ich den Schalter -march=native auch versucht, nur hier akzeptiert der gcc es nicht.
Vielleicht kannst du den linpack Test auf dem Pogoplug auch ausführen. Letztens hatte doch jemand auch ein Beagleboard ...
Gruß
schorsch
[1]
http://elinux.org/RPi_Performance
Re: Raspian contra Debian armel
Verfasst: 10.08.2013 22:18:25
von blackm
Hallo zusammen,
Fazit also: bei Raspian bleiben....ich bekomme bei mir auch Sicherheitsupdates.
Re: Raspian contra Debian armel
Verfasst: 11.08.2013 21:44:48
von cirrussc
schorsch_76 hat geschrieben:Das -march=native so viel ausmacht hätte ich nicht erwartet.
Sicher weil ab Gcc 4.7 AVX unterstützt wird.
Re: Raspian contra Debian armel
Verfasst: 12.08.2013 05:48:24
von schorsch_76
Mein Test war mit gcc 4.6.3
Code: Alles auswählen
gcc --version
gcc (Gentoo 4.6.3 p1.13, pie-0.5.2) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.
Meine "Bastelinstallatation"
Unter Debian arm(el|hf) ist auch der 4.6.3er als stable markiert. [1]
Ok, mit Avx schaut das nochmal ganz anders aus:
Code: Alles auswählen
Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
----------------------------------------------------
2048 0.91 85.71% 2.20% 12.09% 3515733.333
4096 1.85 76.22% 3.78% 20.00% 3800792.793
8192 3.69 79.40% 2.71% 17.89% 3712985.699
16384 7.37 78.83% 2.31% 18.86% 3762657.748
32768 14.77 80.50% 2.30% 17.20% 3679590.079
Nur -O3 bringt das selbe Ergebnis wie der 4.6.3er mit -O3.
[1]
http://packages.debian.org/wheezy/gcc