Optimierung, überbestimmtes Gleichungssystem, auf GPU

Neue Frage »

DemolitionMan Auf diesen Beitrag antworten »
Optimierung, überbestimmtes Gleichungssystem, auf GPU
Hallo,

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
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »