Raspian contra Debian armel

Smalltalk
Antworten
wanne
Moderator
Beiträge: 7438
Registriert: 24.05.2010 12:39:42

Re: Raspian contra Debian armel

Beitrag von wanne » 26.05.2013 15:52:28

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:

Code: Alles auswählen

for(int n=0;n<10000;n++){
  uint32_t i=300;
  i*=i;
}
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.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
schorsch_76
Beiträge: 2532
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspian contra Debian armel

Beitrag von schorsch_76 » 26.05.2013 16:47:47

Dann kuck nochmal in den Quellcode .... das ist definitiv falsch.

DeletedUserReAsG

Re: Raspian contra Debian armel

Beitrag von DeletedUserReAsG » 26.05.2013 16:49:21

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

wanne
Moderator
Beiträge: 7438
Registriert: 24.05.2010 12:39:42

Re: Raspian contra Debian armel

Beitrag von wanne » 26.05.2013 17:05:04

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.
rot: Moderator wanne spricht, default: User wanne spricht.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Raspian contra Debian armel

Beitrag von syssi » 27.05.2013 23:10:45

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

Benutzeravatar
schorsch_76
Beiträge: 2532
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspian contra Debian armel

Beitrag von schorsch_76 » 07.08.2013 22:30:10

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

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspian contra Debian armel

Beitrag von blackm » 10.08.2013 22:18:25

Hallo zusammen,

Fazit also: bei Raspian bleiben....ich bekomme bei mir auch Sicherheitsupdates.
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspian contra Debian armel

Beitrag von cirrussc » 11.08.2013 21:44:48

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.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Benutzeravatar
schorsch_76
Beiträge: 2532
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspian contra Debian armel

Beitrag von schorsch_76 » 12.08.2013 05:48:24

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

Antworten