Liebe Leute, ich will mir packman-rpms runterladen und kann nicht schlau werden, welche von den angeführten (i386-i686) die richtigen sind. Soviel konnte ich herausfinden, daß das vom Prozessor abhängt und ich lese, daß mein AMD 1400+ i686 entspricht. Was ich aber nicht verstehe: Warum gibt es i386-packages, es werden doch kaum noch 386-Rechner verwendet werden, warum diese Datei "symvers-2.6.13-15-i386-default.gz" im Verzeichnis 'boot' und warum findet man auch sonst oft 'i386' auf dem Rechner (zum Beispiel im Verzeichnisbaum der Kernel-sourcen)? Ich habe SL 10.0. Mit der Bitte um Aufklärung (und sorry wegen der vermutlich unbedarften Frage) grüßt verwirrt Heinz
Heinrich Eisterer schrieb:
Mit der Bitte um Aufklärung (und sorry wegen der vermutlich unbedarften Frage)
Hallo Heinrich! Pakete für i386 laufen auf 386 und höher, also auch auf deinem i686. Allerdings wird es Probleme geben, ein i686 Paket auf einem 386 zum Laufen zu bewegen. In dem Paket i686 wurden also Optimierungen speziell für diese Prozessoren verwendet. Also immer das Paket nehmen, das am nächsten an "deiner Nummer" ist. Aber achte darauf, dass du das Paket für die richtige Bit-zahl nimmst. Hast du einen 64bit-Prozessor (zb AMD Athlon 64), musst du die Pakete nehmen, die im Namen _64 haben. Hast du keinen 654bit-Prozessor (also 32bit), dann musst du die PAkete ohne _64 im Namen nehmen. Ich hoffe du hast mich verstanden Viel Erfolg Martin Ereth
Heinrich Eisterer wrote:
ich will mir packman-rpms runterladen und kann nicht schlau werden, welche von den angeführten (i386-i686) die richtigen sind. Soviel konnte ich herausfinden, daß das vom Prozessor abhängt und ich lese, daß mein AMD 1400+ i686 entspricht. Was ich aber nicht verstehe: Warum gibt es i386-packages, es werden doch kaum noch 386-Rechner verwendet werden, warum diese Datei "symvers-2.6.13-15-i386-default.gz" im Verzeichnis 'boot' und warum findet man auch sonst oft 'i386' auf dem Rechner (zum Beispiel im Verzeichnisbaum der Kernel-sourcen)? Ich habe SL 10.0.
i386 ist primaer eine Kurzbezeichnung fuer den Intel 80386 Prozessor. Oft wird der Terminus aber dazu benutzt, die komplette Architektur der x86-kompatiblen Plattformen zu beschreiben, also IA-32 (darunter Fallen gaengige 32-bit CPUs wie Pentium, Athlon, etc.). Das ist z.B. beim Kernel-Source die Bedeutung von i386: ein Unterverzeichnis i386 enthaelt dort speziellen Code fuer diese Architektur. i386 wird allerdings auch in anderem Zusammenhang benutzt, naemlich als Optimierungsterminus fuer einen Compiler auf einer IA-32 Architektur - das ist z.B. die Bedeutung bei RPM-Paketnamen. Hier unterscheidet man dann z.B. zwischen i386 und i686. Je "hoeher" die Nummer, desto optimierter kann ein Programm sein, da neuere Prozessoren i.d.R. erweiterte Moeglichkeiten haben wie MMX, 3Dnow, SSE, SSE2, oder inzwischen auch SSE3. Ein Programm fuer i386 compiliert wird auf allen CPUs ab 80386 laufen (also auf 80386, 80486, Pentium, Pentium Pro, usw.), auf neuen CPUs aber vermutlich nicht mit optimaler Performance. Ein fuer i686 optimiertes Programm wird hingegen auf einer alten CPU nicht laufen, weil bei der Optimierung u.a. SSE-Befehle benutzt werden koennen, die die alte CPU einfach nicht versteht. Du erhaeltst in dem Falle eine Fehlermeldung wie "illegal instruction" bzw. "ungueltiger Maschinenbefehl", wenn so ein Programm auf einer alten CPU ausgefuehrt wird. Wenn Du groessten Wert auf optimierte Performance legst, solltest Du stets die hoechstmoegliche ix86 Version eines Softwarepaketes bevorzugen, in Deinem Falle also z.B. i686. Besonders bei Multimedia Anwendungen wird Dir das Vorteile bringen. Bei anderen Programmen mag es u.U. weniger Differenzen in der Performance geben, das haengt immer vom Einzelfall ab. Wenn Du eher Wert darauf legst, ein Paket zu haben, das mit moeglichst vielen verschiedenen CPUs, darunter vielleicht auch aeltere, funktioniert, dann solltest Du zu einem i386 oder i486 Paket greifen. Ich hoffe, das klaert die Verwirrung etwas auf. Cheers, Thomson
Thomas Hertweck wrote:
Wenn Du groessten Wert auf optimierte Performance legst, solltest Du stets die hoechstmoegliche ix86 Version eines Softwarepaketes bevorzugen, in Deinem Falle also z.B. i686. Besonders bei Multimedia Anwendungen wird Dir das Vorteile bringen. Bei anderen Programmen mag es u.U. weniger Differenzen in der Performance geben, das haengt immer vom Einzelfall ab. Wenn Du eher Wert darauf legst, ein Paket zu haben, das mit moeglichst vielen verschiedenen CPUs, darunter vielleicht auch aeltere, funktioniert, dann solltest Du zu einem i386 oder i486 Paket greifen.
Ich hoffe, das klaert die Verwirrung etwas auf. Cheers, Thomson
ist zwar ein bißchen OT, aber wieviel an optimierung kann man, grade bei multimedia und rechenintensiven anwendungen durch selber kompilieren noch erreichen ?? greatz johannes -- Es gibt 10 Arten von Menschen auf dieser Welt, die einen verstehen das Binärsystem und die anderen verstehen es nicht.
Am Freitag 25 November 2005 22:09 schrieb Johanns Schneider:
ist zwar ein bißchen OT, aber wieviel an optimierung kann man, grade bei multimedia und rechenintensiven anwendungen durch selber kompilieren noch erreichen ??
Wenig bis gar nichts. Die zeitkritischsten Funktionen liegen für gewöhnlich in Assembler in verschiedenen Varianten vor, und werden zur Laufzeit je nach Prozessorfähigkeiten selektiert. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Manfred Tremmel wrote:
Am Freitag 25 November 2005 22:09 schrieb Johanns Schneider:
ist zwar ein bißchen OT, aber wieviel an optimierung kann man, grade bei multimedia und rechenintensiven anwendungen durch selber kompilieren noch erreichen ??
Wenig bis gar nichts. Die zeitkritischsten Funktionen liegen für gewöhnlich in Assembler in verschiedenen Varianten vor, und werden zur Laufzeit je nach Prozessorfähigkeiten selektiert.
Reden wir von "Standard-Software" wie z.B. einem Linux-Kernel oder einem mplayer o.ae., oder reden wir auch von wirklich rechenintensiven wissenschaftlichen (numerischen) Programmen, z.B. auch selbst geschrieben? Falls es um ersteres geht, dann hat Manfred absolut recht. Zum Beispiel duerfte das Re-compilieren eines SuSE-Kernels kaum etwas bringen an Performance. Und die meisten Packman-Pakete sind ebenfalls bereits fuer mind. i586 optimiert. Falls hingegen zweiteres zutreffen sollte, dann kann ich da mit einigen Erfahrungswerten aufwarten, weil das mehr oder weniger das ist, was ich den ganzen Tag mache (Forschung & Software-Entwicklung). Und in diesem Falle kann sich (das haengt natuerlich von der Anwendung ab) das Verwenden von Compiler-Flags und Optimierung fuer eine bestimmte CPU *sehr* drastisch auswirken (z.B. wenn mehrer Floating-Point Operationen gleichzeitig stattfinden koennen statt nacheinander). Wir reden dann nicht mehr von 5% Performance-Gewinn, sondern von Faktoren zum Teil im zweistelligen Bereich. Cheers, Th.
Am Freitag 25 November 2005 21:43 schrieb Thomas Hertweck:
Ein fuer i686 optimiertes Programm wird hingegen auf einer alten CPU nicht laufen, weil bei der Optimierung u.a. SSE-Befehle benutzt werden koennen, die die alte CPU
Prinzipiell will ich dir ja gar nicht wiedersprechen, aber prinzipiell umfasst der ix86er Befehlssatz in keiner Variante Multimedia-Extension Befehlserweiterungen. Bei i686 kann man allerdings von MMX ausgehen, da (zumindest mir) kein i686er Prozessor bekannt ist, der kein MMX beherrscht. SSE kam erst viel später mit dem PIII, bei AMD noch später (hatten ja lange 3DNow als alternative).
einfach nicht versteht. Du erhaeltst in dem Falle eine Fehlermeldung wie "illegal instruction" bzw. "ungueltiger Maschinenbefehl", wenn so ein Programm auf einer alten CPU ausgefuehrt wird.
Richtig.
Wenn Du groessten Wert auf optimierte Performance legst, solltest Du stets die hoechstmoegliche ix86 Version eines Softwarepaketes bevorzugen, in Deinem Falle also z.B. i686. Besonders bei Multimedia
Korrekt.
Anwendungen wird Dir das Vorteile bringen. Bei anderen Programmen mag es u.U. weniger Differenzen in der Performance geben, das haengt immer vom Einzelfall ab. Wenn Du eher Wert darauf legst, ein Paket zu haben, das mit moeglichst vielen verschiedenen CPUs, darunter vielleicht auch aeltere, funktioniert, dann solltest Du zu einem i386 oder i486 Paket greifen.
Wobei es bei neueren SUSE Versionen eh keinen Sinn macht, was < i586er zu verwenden, da die Distribution ja selbst für i586 compiliert wurde und auf älteren Prozessoren nicht mehr läuft. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Manfred Tremmel wrote:
Am Freitag 25 November 2005 21:43 schrieb Thomas Hertweck:
Ein fuer i686 optimiertes Programm wird hingegen auf einer alten CPU nicht laufen, weil bei der Optimierung u.a. SSE-Befehle benutzt werden koennen, die die alte CPU
Prinzipiell will ich dir ja gar nicht wiedersprechen, aber prinzipiell umfasst der ix86er Befehlssatz in keiner Variante Multimedia-Extension Befehlserweiterungen. Bei i686 kann man allerdings von MMX ausgehen, da (zumindest mir) kein i686er Prozessor bekannt ist, der kein MMX beherrscht. SSE kam erst viel später mit dem PIII, bei AMD noch später (hatten ja lange 3DNow als alternative).
Das ist richtig, Danke fuer die Korrektur. SSE war schlecht gewaehlt in dem Zusammenhang (ersetze "u.a. SSE-Befehle" durch "u.a. erweitere Befehlssaetze" in meinem obigen Satz und es sollte hoffentlich wieder stimmen). IIRC entspricht i686 einem Pentium Pro. Cheers, Th.
Am Freitag 25 November 2005 23:23 schrieb Thomas Hertweck:
Das ist richtig, Danke fuer die Korrektur. SSE war schlecht gewaehlt in dem Zusammenhang (ersetze "u.a. SSE-Befehle" durch "u.a. erweitere Befehlssaetze" in meinem obigen Satz und es sollte hoffentlich wieder stimmen). IIRC entspricht i686 einem Pentium Pro.
Ja, PentiumPro bzw. die ersten Athlons bei AMD und VIA hat AFAIK erst in den letzten Versionen komplett von i586 auf i686 umgestellt. Es gab also schon eine Menge Prozessoren mit MMX und es gibt noch einige i686er ohne SSE. Die x86er Einstufung. Im allgemeinen kann eine i586 vs. i686 Optimierung keine Wunder bewirken. Eine MMX bzw. SSE Nutzung kann je nach Programm allerdings durchaus massive Geschwindigkeitsunterschiede bewirken. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
participants (5)
-
Heinrich Eisterer
-
Johanns Schneider
-
Manfred Tremmel
-
Martin Ereth
-
Thomas Hertweck