PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SSE2 vs. SSE vs. 3DNow!


TiKu
11.01.2004, 22:53
Da die Frage, ob man nun die Nutzung von SSE, 3DNow! oder gar keiner Erweiterung erzwingen soll, ziemlich oft auftaucht, hier mal ein paar Hinweise dazu:

Was ist schneller?
SSE(2) ist recht deutlich schneller als 3DNow! Es empfiehlt sich also, auch auf einem AMD-System SSE zu nutzen. Wir schlagen den "Feind" quasi mit seinen eigenen Waffen.;D
Ganz ohne 3DNow!/SSE(2) ist Folding@Home natürlich am langsamsten.

Wann können 3DNow!/SSE(2) genutzt werden?
Generell werden die Erweiterungen SSE und 3DNow! momentan nur von den Cores GROMACS und DGROMACS unterstützt. DGROMACS kann zudem auch noch SSE2 nutzen.

Wie aktiviere ich 3DNow!/SSE(2)?
Standardmäßig entscheidet der Client selbst, ob und welche Erweiterungen er verwendet. Dabei wird SSE2 bevorzugt, dann kommt SSE und zuletzt 3DNow!.
Nach einem Absturz nutzt Folding@Home vorübergehend gar keine Erweiterungen. Mit dem Parameter -forceasm kann man das unterbinden.
Ältere Versionen des (D)GROMACS-Cores stürzten oft ab, wenn SSE auf einem AMD Athlon genutzt wurde, weshalb auf diesen Systemen 3DNow! bevorzugt wurde. Aus dieser Zeit stammt der Parameter -forceSSE. Mit ihm konnten AMD-Nutzer die Verwendung von SSE erzwingen. Da die Ursache für die Abstürze inzwischen behoben ist und SSE gegenüber 3DNow! wieder bevorzugt wird, ist -forceSSE inzwischen eigentlich nutzlos.

Woran erkenne ich, dass 3DNow!/SSE(2) aktiviert sind?
Steht bei einer WU "Extra 3DNow! boost OK." bzw. "Extra SSE(2) boost OK." in der Log-Datei bzw. in der Ausgabe, hat es funktioniert.

Wie starte ich den Client mit Parametern?
Windows:
Man erstelle eine Verknüpfung zu der exe-Datei des Clients. Dann öffne man die Eigenschaften dieser Verknüpfung und lasse sich die Registerkarte "Verknüpfung" anzeigen.
Als Ziel sollte dort in Anführungszeichen der Pfad zu der exe-Datei stehen. Hinter das Ausführungszeichen schreibt man nun ein Leerzeichen und anschließend den Parameter. Bsp.:
"C:\Programme\Folding@Home\Folding@Home v5.02.exe" -forceasm
Noch ein Klick auf OK und schon nutzt Folding@Home die Erweiterungen auch nach einem Absturz, wenn man es über diese Verknüpfung startet.
Eine Beschreibung aller möglichen Parameter gibt's in den FAQ (http://www.planet3dnow.de/vbulletin/showthread.php3?s=&threadid=127191).

andere OS:
Prinzipiell sollte das genauso gehen wie bei Windows, nur dass die Dateinamen und Pfade etwas anders aussehen.


Bitte benutzt für weitere Fragen zu dieser Thematik zunächst erstmal die Suchfunktion (http://www.planet3dnow.de/vbulletin/images/top_search.gif (http://www.planet3dnow.de/vbulletin/search.php3?s=)). Die sollte man sowieso bei jedem Problem erstmal nutzen.;) Sind die Suchergebnisse nicht zufriedenstellend, bitte ich euch, Fragen zu der SSE/3DNow!-Thematik hierein zu posten.

Danke!
TiKu

Tirpiz
14.01.2004, 00:51
Allerdings sollte man daran denken:

Ist eine WU fertig gerechnet und der Client holt sich eine neue,
dann nutzt er beim anschließenden Neustart automatisch wieder 3Dnow wenn möglich.

Man sollte daher bei jeder neuen WU auch den Clienten manuell mit -forceSSE neu starten !


Ooops ! Das trifft nur für die 3.24 er Version zu. Die 4.0 er Version scheint sich die Parameter zu merken !

TiKu
14.01.2004, 01:35
Oh, eigentlich meinte ich das so, dass man F@H immer per Verknüpfung startet. Hmmm, da muss ich mir mal noch eine eindeutigere Formulierung einfallen lassen.
Dass der 4er sich die Einstellungen merkt, wusste ich gar nicht. Man lernt halt nie aus.:D

CapJo
06.02.2004, 16:34
SSE ist sehr viel schneller als 3DNow! bei F@H. Leider nutzt F@H SSE bei Athlon XP Prozessoren nicht automatisch und man muss es per Parameter manuell aktivieren.

Beim alten Client Version 3.24 heisst der Parameter für SSE aber noch -forceasm


Instruct the core to use SSE/3DNow assembly instructions if possible, even if it has previously made the determination that the machine may not be handling this well.

Hier die Infodatei zur alten Cosolenversion: http://www.stanford.edu/group/pandegroup/folding/console-userguide.html

Im neuen Beta Client heisst der Parameter für SSE aber -forceSSE und der der Paramter -forceasm ist für eine beliebige vorhandene Optimierung. Hier ein Screenshot zum selbst nachlesen.

http://capjo.bei.t-online.de/fahbeta40.jpg


Die Beschreibung des Parameters -advmethods macht in der Beta endlich mal Sinn

Ver. 3.24 : Request to be assigned any new Cores or work units.
Beta 4.00 : Use new advanced scientific cores and/or work units if available


Zur Erklärung: Es gibt 2 verschiedene Cores. Einmal die Tinker-Cores und Units die kein SSE/3DNow! nützen und dann noch die Gromacs-Cores und die Units, die die CPU-Erweiterungen unterstützen und deshalb schneller zu berechnen sind und mehr Punkte bringen. Das Punktesystem von F@H finde ich trotzdem ziemlich mies, da Leute die eine Tinker-Unit bekommen für deutlich mehr Rechenzeit ungenügend viele Punkte bekommen.

Ich hab mich zu dieser Sache schon mal in einem anderen Thread geäußert. Ihr findet es auf dieser Seite ganz unten.

http://www.planet3dnow.de/vbulletin/showthread.php3?s=&threadid=128591&perpage=25&pagenumber=2

Wenn man Punkte sammeln will sollte man unbedingt darauf achten, dass man beim XP SSE erzwingt und dann noch per -advmethods die für SSE optimierten WUs bekommt.

Durch den Flag -advmethods bekommt man nur optimierte Gromacs-Workunits, die SSE nutzen können und keine Tinker mehr. Da die WUs schneller berechnet werden bekommt man mehr Punkte. Insgesamt finde ich das Bewertungssystem aber nicht gerade optimal.

Sargnagel
04.03.2004, 09:30
Die Entwickler von Gromacs haben in Zusammenarbeit mit AMD herausgefunden, warum der F@H-Client auf AMD-Systemen manchmal abstürzt, wenn SSE genutzt wird (s. div. Foren).
http://www.gromacs.org/pipermail/gmx-users/2004-March/036194.html

Das läßt auf ein baldiges Update des F@H-Clients hoffen. :)

TiKu
22.07.2004, 02:53
So, ich habe das HowTo mal etwas überarbeitet, da sich bei dieser Thematik ja inzwischen doch einiges geändert hat.

Breaker10
15.08.2004, 00:43
Habe mal seit langem F@H wieder gestartet, allerdings macht er nur SSE Boost ohne die

(2) :] Naja, dann soll er sich halt tot rechnen ;D

TiKu
15.08.2004, 00:50
Sicher, dass Du eine DGROMACS hast?

Breaker10
15.08.2004, 00:58
Mist, bin wohl etwas müde, hab ich total übersehen :]

larsbo
16.05.2005, 12:29
Die Entwickler von Gromacs haben in Zusammenarbeit mit AMD herausgefunden, warum der F@H-Client auf AMD-Systemen manchmal abstürzt, wenn SSE genutzt wird (s. div. Foren).
http://www.gromacs.org/pipermail/gmx-users/2004-March/036194.html

Das läßt auf ein baldiges Update des F@H-Clients hoffen. :)

ich aktualisier mal den Link: Ich denke du hattest diese Info gemeint:
http://www.gromacs.org/pipermail/gmx-users/2004-March/009570.html

Weiß jemand eigentlich, was da los war, sprich hat Erik sich mal geäußert, ob der Fehler in der AMD-Hardware lag oder ein reines Software-Problem war?

Sargnagel
16.06.2005, 15:31
@larsbo:
Danke daß Du den Link aktualisiert hast. Keine Ahnung, warum der alte nicht mehr geht.

David van der Spoel hatte später verraten (dürfen), welches die Ursache für die Probleme mit AMD CPUs war:
http://www.gromacs.org/pipermail/gmx-users/2004-March/009868.html

ZZt legt das GROMACS Team noch letzte Hand an den neuen x86_64 Assembly Code, den man in der CVS-Version testen kann. Man solle, was Performancezuwächse anbelangt, keine Wunder erwarten, aber wenigstens hat man dann endlich eine reine 64bit Version.

larsbo
18.06.2005, 10:33
Aha, vielen Dank für die Info. Auch wenns ein unerheblicher bug ist, wäre es nett von AMD gewesen, wenn sie ihn in den Erratums eingebaut hätten. Das ist AFAIK zumindest für die AthlonXPs nicht erfolgt. Was die erratum-Politik angeht, scheint mir Intel weiterhin offener zu sein.

Nights
26.09.2006, 15:12
Da ich mittlerweile einen Athlon X² crunshen lasse, der ja auch SSE3 unterstützt, dachte ich daß dann auch (entsprechend dem, was in diesem FAQ steht) SSE3 oder zumindest SSE2 unterstützt wird, es erscheint aber immer nur "SSE Boost ok" und nicht wie hier beschrieben "SSE(2)/(3) Boost ok.
Hat das was zu bedeuten, arbeitet er wirklich nur mit SSE1 oder erwähnt der Client (2x Textclient 5.02) höhere SSE Versionen nicht?

Nights

TiKu
26.09.2006, 15:15
Rechnest Du denn an einer WU, bei der SSE2/3 normalerweise genutzt wird, sofern vorhanden?

Nights
26.09.2006, 15:20
Rechnest Du denn an einer WU, bei der SSE2/3 normalerweise genutzt wird, sofern vorhanden?

Woran erkenne ich das (außer daran daß dann vermutlich SSE2 boost ok steht ;))?

TiKu
26.09.2006, 15:36
Am Core.

Tinker nutzt gar nichts
Gromacs: SSE
DGromacs: SSE und SSE2 (letzteres nur falls vorhanden)
GBGromacs: *noahnung*, vermutlich mindestens SSE
Gromacs33: *noahnung*, vermutlich mindestens SSE
Amber: gar nichts, soll aber irgendwann mal SSE2 nutzen
QMD: SSE2

Nights
26.09.2006, 15:40
Am Core.

Tinker nutzt gar nichts
Gromacs: SSE
DGromacs: SSE2
GBGromacs: *noahnung*, vermutlich mindestens SSE
Gromacs33: *noahnung*, vermutlich mindestens SSE
Amber: gar nichts, soll aber irgendwann mal SSE2 nutzen
QMD: SSE2


Ok, danke, im Moment laufen zwei GROMACS Cores, kann man das irgendwie beeinflußen was man bekommt (wäre ja sinnvoll bei Vorhandensein auch SSE2/3 zu nutzen) oder kommt mit der nächsten WU sowieso wieder ein anderer Kern?

TiKu
26.09.2006, 15:45
Man kann es zum Glück nicht beeinflussen, denn dann würde sich jeder die Rosinen rauspicken und bestimmte WUs, die für das Projekt genauso wichtig sind wie andere, bleiben liegen.
Ich nehme aber mal an, dass der Client dem Server meldet, was Dein Rechner so kann und der Server das nicht ganz unberücksichtigt lässt. Er wird sich z. B. hüten, einem Rechner ohne SSE eine WU zu geben, für die SSE nötig ist.

Nights
26.09.2006, 15:55
Alles klar, danke *great*



Copyright © 1999 - 2011 Planet 3DNow!
Rechtliche Hinweise