raven16
Lieutenant
- Registriert
- Nov. 2008
- Beiträge
- 580
Hallo,
ich möchte Operationen eine Matrixmultiplikation teilweise parallel in Threads berechnen. Hier zunächst der serielle Algorithmus:
Die äußeren beiden Schleifen sollen nun jeweils neue Threads erstellen, das heißt in jedem Thread der äußeren Schleife werden weitere Threads durch die mittlere Schleife erzeugt, die dann die innere Schleife ausführen. Meine Frage dazu zielt eher in Richtigung Programmdesign ab. Am liebsten würde ich alles in einer Methode erledigen. Brauche ich zusätzlich dann noch für die äußeren Schleifen zwei verschiedene Thread-Klassen, die von Runnable erben oder kann ich dies auch in einer Klasse erledigen? Kann sich überhaupt eine Klasse selbst instanziieren?
Viele Grüße
ich möchte Operationen eine Matrixmultiplikation teilweise parallel in Threads berechnen. Hier zunächst der serielle Algorithmus:
Code:
for(int i=0; i<M; i++){ // row count of matrix A
for(int j=0; j<O; j++){ // column count of matrix B
for(int k=0; k<N; k++){ // index for scalar product
valC[i][j] += valA[i][k] * valB[k][j];
}
}
}
Die äußeren beiden Schleifen sollen nun jeweils neue Threads erstellen, das heißt in jedem Thread der äußeren Schleife werden weitere Threads durch die mittlere Schleife erzeugt, die dann die innere Schleife ausführen. Meine Frage dazu zielt eher in Richtigung Programmdesign ab. Am liebsten würde ich alles in einer Methode erledigen. Brauche ich zusätzlich dann noch für die äußeren Schleifen zwei verschiedene Thread-Klassen, die von Runnable erben oder kann ich dies auch in einer Klasse erledigen? Kann sich überhaupt eine Klasse selbst instanziieren?
Viele Grüße