Optimierung, überbestimmtes Gleichungssystem, auf GPU |
20.05.2013, 15:18 | DemolitionMan | Auf diesen Beitrag antworten » |
Optimierung, überbestimmtes Gleichungssystem, auf GPU Problem: ich habe ein Optimierungsproblem, dieses ist bereits linearisiert und in Form eines überbestimmten Gleichungssystems vorliegend. Es soll gelöst werden: wobei A eine 307200 × 6 Matrix ist. x ist ein Vektor mit den 6 gesuchten Elementen und a ein Vektor mit 307200 Elementen. Es ist davon auszugehen, dass etwa 50% der Zeilen keine Informationen beinhalten, also 0 sind. Dieses Problem soll auf einer Grafikkarte gelöst werden (die Berechnungen sollten in Blöcke mit je 256 oder 512 Threads aufgeteilt werden). Lösung 1: Einteilung der 307200 Zeilen in Blöcke der Größe 256 Zeilen. Man erhält also 1200 Mal (307200/256): in jedem Block wird bestimmt: Die Matrixen haben nun die Größe 6 × 6 und Vektoren passend 6 Elemente. Zuletzt werden die Matrix C und der Vektor c bestimmt als elementweise Summe. z.B. (analog für c): Abschließend erfolgt die Lösung von C*x=c. Lösung 2: Reduzierung der 307200 Zeilen auf 512 Zeilen indem die elementweise Summe berechnet wird (analog für den Vektor c): B ist nun eine 512 × 6 Matrix und b ein Vektor mit 512 Elementen. Anschließend wird die Lösung berechnet für: Bewertung: Beide Lösungen sind nahezu ausreichend schnell, wobei mir Lösung 2 lieber wäre. Die Ergebnisse von Lösung 1 sind ausreichend stabil und genau. Leider sind die Ergebnisse von Lösung 2 schlechter und nicht mehr ausreichend. Fragen: Wie kann man die Fehler (Differenz zur Lösung mit minimalem quadratischen Fehler) der beiden Lösungen abschätzen? Gibt es eine bessere Lösung? Vielen Dank |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |