|
Torben |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.01.2010, 16:11
Titel: Parallel Computing
|
|
Hallo,
hätte mal eine Frage... bzgl. der Parallel Computing Toolbox....
was "bringt" mir die auf einen Rechnen? hätte zuerst aso verstanden dass ich die brauche um die verschiedenen Kerne anzusprechen?
jetzt wenn ich aber ein Programm laufen lassen... lastet er auch schon alle 4 Kerne aus?
(ohne dass ich die Toolbox habe)
Viele Grüße
Torben
|
|
|
|
|
__Andreas__ |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.01.2010, 08:35
Titel:
|
|
Hallo,
ich bin mir nicht ganz sicher, aber ich denke das die neueren Matlab-Versionen alle bis zu 4 Prozessoren unterstüzen?
und dann mit der Parallel-Computing Toolbox bis zu 8 möglich sind?
Andreas
|
|
|
Max2k |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2010, 14:57
Titel:
|
|
Nein, ohne die Paralell Toolbox (und meist auch mit ihr)
lastet Matlab genau einen Prozessor voll aus.
Mit der Paralell Toolbox kannst du so genannte worker starten,
einen pro Prozessor, welche dann wenn du einen paralellen Befehl verwendest, etwas zu tun bekommen (also z.B. parfor).
Das ganze geht aber wiederum nur wenn deine Probleme von einander
unabhängig gelöst werden können (z.B. eine Parameterabschätzung welche auf den Ergebnissen der vorhigen Lösung geruht geht nicht).
Es gibt zu diesem Thema unter Paralell Toolbox ein gutes Video von Mathworks.
Und aus Erfahrung sag ich noch: Benutze so viele buildin functions wie möglich, das ist meist deutlich schneller als paralell laufender, eigener code.
Gruss,
Max
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.02.2010, 19:10
Titel:
|
|
|
|
|
Hallo,
Zitat: |
Nein, ohne die Paralell Toolbox (und meist auch mit ihr)
lastet Matlab genau einen Prozessor voll aus. |
Das ist nicht zutreffend.
Es gibt Operationen, die auch ohne Parallel Computing Toolbox in mehrere Threads aufgespalten werden. Das nennt man implizites Multithreading, da der Nutzer dazu nichts beitragen muss.
http://www.mathworks.com/access/hel...../brdo29n-1.html#brdtymf-1
Die Parallel Computing Toolbox erlaubt explizites Multithreading, d.h. der User kann selbst entscheiden, wie die Aufgaben verteilt werden. Der Einsatz dieser Toolbox ist vor allem dann interessant, wenn man
1. hohe CPU-Auslastung und die Anwendung verhältnismäßig wenig andere Resourcen (Speicher) benutzt.
2. die Anwendung leicht in voneinander unabhängige Teile aufspalten kann.
Einfachstes Beispiel für parallelisierbaren seriellen Code:
Da habe ich auf einem Dual-Core-Rechner schon Speedup von Faktor 1,9 und mehr gehabt.
Die Parallel Computing Toolbox erlaubt es zudem, Aufgaben an Cluster-Rechner zu verschicken. Auf diesen Cluster-Rechnern läuft dann MATLAB Distributed Computing Server. Mehr Informationen zu diesen Produkten hier:
http://www.mathworks.de/products/parallel-computing/
Wichtig ist auch, dass man, bevor man an Parallel Computing denkt, erst mal den seriellen Code möglichst effizient gestaltet. Stichwort dazu z.B. Vektorisierung.
Grüße,
Harald
|
|
|
PeterPanFlöte |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2010, 20:30
Titel:
|
|
Hallo!
Kann man eigentlich auch ein aus Matlab gestartete Programm parallel ausführen?
Ich habe einen Timer, der laufend neue Messdaten ausliest. Diese Messdaten werden auf einer GUI angezeigt. Auf Knopfdruck auf der GUI kann ich eine .exe ausführen, die mit den aktuellen Messdaten etwas berechnet. In dieser Zeit "wartet" der Timer dann automatisch bis die .exe fertig ist.
Kann ich diese .exe dann auf einem zweiten Kern laufen lassen, so dass mein Timer weiter Messdaten auslesen und anzeigen kann?
MfG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.02.2010, 22:32
Titel:
|
|
Hallo,
ja, das sollte gehen.
Lab 1:
GUI läuft.
Schickt (labSend) auf Knopfdruck Daten an Lab 2.
Lab 2:
Wartet (labReceive) auf Daten von Lab 1.
Führt ggf. die .exe aus.
Grüße,
Harald
|
|
|
PeterPanFlöte |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.02.2010, 17:32
Titel:
|
|
Hallo,
danke für die Antwort!
Dann werde ich mich wohl mal mit der Toolbox auseinandersetzen...
|
|
|
Günny |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.02.2012, 16:52
Titel:
|
|
Hey,
kann man einer vielleicht einen Code schreiben, in dem ich 2 m-files parallel laufen lassen kann?
Werde aus den "Hilfen" hier nicht schlau!
Ablauf:
Gui wird geöffnet (1. m-file)
dann wird aus der Gui das 2. m-file geöffnet, das so lange im Hintergrund laufen soll, solange ein bestimmter button nicht gedrückt wird. erst dann soll es unterbrochen werden.
Ich hoffe ihr könnt mir helfen!
Grüße
|
|
|
Günny |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.02.2012, 16:56
Titel:
|
|
Günny hat Folgendes geschrieben: |
Ablauf:
Gui wird geöffnet (1. m-file)
dann wird aus der Gui das 2. m-file geöffnet, das so lange im Hintergrund laufen soll, solange ein bestimmter button nicht gedrückt wird. erst dann soll es unterbrochen werden.
Grüße |
Während das 2. m-file läuft, soll natürlich in der Gui sachen ausgewählt werden!
|
|
|
Larzarus |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 23.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.03.2012, 16:05
Titel:
|
|
Hallo ich arbeite gerade an einem ähnlichen Problem.
Hast du eine Lösung gefunden?
MfG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.03.2012, 16:52
Titel:
|
|
Hallo,
eine Möglichkeit mit der Parallel Computing Toolbox wäre:
aus der GUI heraus einen Job erstellen und den mit der local configuration laufen lassen, siehe z.B.
bis einschließlich submit.
Wenn der Button gedrückt wird, wird der Job abgebrochen (bis 2011b: destroy, in 2012a: delete).
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|