Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Parallele Matrixmultiplikation

RockBottom
Experte (offline)

Dabei seit 01.2003
1033 Beiträge

Geschrieben am: 04.11.2010 um 02:00 Uhr

Hallo,

ich habe folgende Problemstellung

Zitat:

2. Aufgabe: Wie Ihnen noch hoffentlich aus Mathematik-Lehrveranstaltungen bekannt ist, ergibt die
Multiplikation einer (m,n)-Matrix mit einer (n,k)-Matrix eine (m,k)-Matrix.
a) Schreiben Sie eine Klasse Matrix mit einer static-Methode namens multiplySequential, welche
zwei Parameter des Typs double[][] besitzt und diesen Typ als Rückgabe liefert! Wie der Name sagt,
soll diese Methode die beiden Matrizen, welche als Parameter übergeben werden, sequenziell
multiplizieren.
b) Die m * k Elemente der Resultatmatrix können alle unabhängig voneinander und somit parallel
berechnet werden. Erweitern Sie die Klasse Matrix um eine static-Methode namens multiplyParallel,
die dieselbe Signatur (Anzahl und Typ der Parameter sowie Typ des Rückgabewerts) wie die
Methode multiplySequential hat! Wie der Name sagt, soll diese Methode die beiden Matrizen, welche
als Parameter übergeben werden, mit m * k parallel laufenden Threads multiplizieren, wobei jeder
Thread einen Wert der Matrix berechnet.


A ist ja kein Problem. Jetzt verstehe ich aber nicht, wie b zu bewältigen sein soll?! An run kann ich keine Parameter übergeben und demnach weiß ich nicht, wie ich die einzelnen Felder mit jeweils einem neuen Thread berechnen und diese an die Static Methode zurückschicken soll. Jemand einen Vorschlag?

Gruß

Freundschaft vor Vaterland - And I thought my jokes were bad

Ketzu - 39
Experte (offline)

Dabei seit 11.2008
1535 Beiträge
Geschrieben am: 04.11.2010 um 05:01 Uhr

Erste Möglichkeit die mir einfällt:
Die Übergabe kannst du einfach durch eine Initialisierung deiner Thread Objekte durchführen.

Die Rückgabe könntest du über ein Objekt erreichen von dem du eine Referenz übergibst oder in dem du den Thread dazu bringen kannst das Ergebnis an einer dir bekannten oder direkt an der richtigen Stelle anzubringen.

Allerdings muss man bei allem natürlich drauf achten, das auch alle Threads tatsächlich fertig sind :)

Eine Meinung vertreten, heißt nicht sie zu teilen, sondern versuchen sie zu verstehen.

animator - 46
Profi (offline)

Dabei seit 11.2005
458 Beiträge

Geschrieben am: 04.11.2010 um 11:56 Uhr

Ich verstehe kein Wort aber ich finde es faszinierend dass es Menschen gibt die das verstehen! [verlinkte Grafik wurde nicht gefunden]

Freiheit schützt man nicht indem man sie abschafft!

Kulakoff - 34
Experte (offline)

Dabei seit 12.2008
1670 Beiträge

Geschrieben am: 04.11.2010 um 11:58 Uhr

Zitat von animator:

Ich verstehe kein Wort aber ich finde es faszinierend dass es Menschen gibt die das verstehen! [verlinkte Grafik wurde nicht gefunden]


mir gehts genau so :-D

http://www.team-ulm.de/MyGroups/66962

RockBottom
Experte (offline)

Dabei seit 01.2003
1033 Beiträge

Geschrieben am: 04.11.2010 um 13:00 Uhr

Nun ja, ich habe ein static array genommen und alle werte dort gespeichert...scheinbar ist der Meister mit der Aufgabe zufrieden weshalb ich mich bedanke und falls es jemand sieht...Thread kann geschlossen werden. :)

Freundschaft vor Vaterland - And I thought my jokes were bad

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -