Forum: Programmieren allgemein
20. Jul 2012, 21:48
|
Antworten: 6
Hits: 774
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
18. Jun 2012, 16:37
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Falls es jemanden interessiert, hab eine Lösung gefunden, wie man mit SSE einen Vektor normalisieren kann. Den genauen Performancegewinn muss ich noch messen, werd ich dann posten, aber läuft auf...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 16:39
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Naja, es ginge, allerdings bräuchte man 4 Register. Das 1ste bleibt wies ist, beim 2. Packst du das 2. Element an 1. Stelle mit shufps, beim 3. das 3., beim 4. das 4., und 3 additionen später hätte...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 15:58
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Ja, das hin und herschieben geht, mit SHUFPS, ist schon seit SSE1 dabei - Der Ansatz fürs Kreuzprodukt den ich weiter oben gepostet hatte benutzt das ganze auch.
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 14:45
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Vielen Dank für die Erklärung.
Habs mit 16 byte Alignment am Laufen, doch der Gewinn an Geschwindigkeit beträgt +-0... werd mir also den Aufwand damit sparen, und es bei ganz normalen Arrays...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 14:28
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Stimmt, sind natürlich byte...
zum alignment: Schon klar das lokale Variablen nur 8 byte-aligned sind, doch wenn ich nun vor meinem array eine Variable von 1 byte größe Deklariere, müsste doch rein...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 12:47
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Werd ich mal testen, wie hoch da der Geschwindigkeitsgewinn ist...Ist allerdings in der eigentlichen Vektorbibliothek kaum umsetzbar...müsste dafür ein eigenes Array schreiben was immer aligned ist,...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 12:37
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Scheint 8 bit Aligned zu sein...Addr(Vecs) mod 16 ist immer 8, Egal an welcher Stelle es deklariert wird (zumindest wenn es ein dynamisches Array ist, festes Array ist gar nicht aligned)
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 12:23
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Aber wenn dynamische Arrays 16 bit Aligned sind müsste doch folgender Code möglich sein:
function AddVecsSSE(const av1, av2: TTestVec): TTestVec;
asm
MOVAPS XMM0, DQWORD PTR [&av1]
MOVAPS...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 11:37
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
@mkinzler Soweit klar, deswegen sagte ich ja dass ich auch eine Variante für 64Bit Pflege - welche der Entspricht die komplett ohne assembler auskommt, und deswegen auch für Uralt PC's eingesetzt...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 11:33
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Auf das Problem dass man mit SSE1 noch kein MMX-Register aufaddieren kann bin ich auch gerade gestoßen...ist echt ziemlich nervig...
Man könnte natürlich 2 Varianten schreiben - eine für SSE 3.0...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 11:20
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Da das Projekt an dem ich arbeite kein Tripl-A Titel werden soll, sondern nur ein kleines Spiel mit ner schön anzuschauenden
3D-Grafik, und es mir hauptsächlich um den Lerneffekt geht (hab z.B....
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 11:05
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Mittlerweile sind es durch die kleinen aber feinen Optimierungen von Himitsu sogar 20.000 Zykel - und damit bin ich ziemlich zufrieden ;)
Vielen Dank für deine Erklärung zu SSE, hat echt ein paar...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
14. Jun 2012, 10:04
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Bin jetzt grad dabei die SSE-Beschleunigung in meine Vektor-Unit einzubauen...
allerdings steh ich grad vor nem Problem: Ich möchte die Länge eines Vektors bestimmen...
Die einzelnen Werte zu...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 21:53
|
Antworten: 41
Hits: 7.145
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 21:36
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Jupp, hab ich... aber müsste es nicht statt
CMP ECX, 0
JLE @@exit
DEC ECX
CMP ECX, $07FFFFFF
JG @@exit
Erst nach dem 2. Compare verringert werden?
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 21:28
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Hört sich erstmal ziemlich kontraproduktiv an dass ein Befehl speziell für Schleifen langsamer ist als ein Jump-Befehl zum selben Label...
Aber naja, wieder was für guten Programmierstil gelernt.
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 21:07
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Die Variante läuft auf jeden Fall wunderbar, und der Performancegewinn kann sich auch sehen lassen.
Ich blick noch nicht so 100% durch, aber *fängt an kaffee in Verstehen zu konvertieren* ;)
...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 20:54
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
EBX solltest du nicht einfach so überschreiben, ohne dessen Wert zu speichern und hinterher wiederherzustellen. :warn:[/QUOTE]
Ist mir auch schon aufgefallen, hab noch nicht so viel mit asm...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 19:51
|
Antworten: 41
Hits: 7.145
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 19:18
|
Antworten: 41
Hits: 7.145
AW: [ASM / SSE] Vektoroperationen
Okay, das läuft schonmal etwa 10% schneller...
Nur warum liegt av1 bei DQWORD PTR [EAX], av2 bei EDX und Result bei ECX?
Muss man die nicht eigentlich erst dort hin moven?
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
13. Jun 2012, 17:37
|
Antworten: 41
Hits: 7.145
[ASM / SSE] Vektoroperationen
Nachmittag DPLer,
ich habe mich heute mal daran Gesetz, die SIMD-Extensions ein wenig genauer unter die Lupe zu nehmen,
speziell wie man diese zur Berechnung von Vektoren einsetzen kann. Ich hab...
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
24. Mai 2012, 12:24
|
Antworten: 4
Hits: 1.396
|
Forum: Algorithmen, Datenstrukturen und Klassendesign
24. Mai 2012, 12:14
|
Antworten: 4
Hits: 1.396
|
Forum: Software-Projekte der Mitglieder
22. Mär 2012, 15:00
|
Antworten: 56
Hits: 9.341
|