WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Parallel kontrollieren und starten einer berechnung

 

mike793
Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 11.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2009, 12:29     Titel: Parallel kontrollieren und starten einer berechnung
  Antworten mit Zitat      
hallo zusammen

mich würde interessieren, ob und wie man in Matlab parallel rechnen kann!

Speziell würde ich gern wissen wie man Matlab sagt: schau ob in 4 Ordner gleichzeigt ob da eine datei drin ist, und wenn nicht schreib eine hinein! --> und starte eine neue berechnung!

Danke
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2009, 12:38     Titel:
  Antworten mit Zitat      
Hallo,

diese Möglichkeit gibt es im Rahmen der Parallel Computing Toolbox (auf dem momentanen Rechner), ggf. in Kombination mit MATLAB Distributed Computing Server (wenn auf anderen Rechnern gearbeitet werden soll).

http://www.mathworks.de/products/parallel-computing/

Für deine konkrete Anwendung ist das aber wahrscheinlich ein Overkill.

Allgemeiner Hinweis: je nach Anwendung rechnet MATLAB nur auf einem Rechenkern. Lediglich bei einigen Matrix-Vektor-Operationen oder vektorisierten Operationen werden zusätzliche Threads erstellt, um die Abarbeitung zu beschleunigen (implicit multithreading). Falls das nicht geschieht (und man bei Dual-Cores im Task-Manager minuten- oder stundenlang eine Auslastung von 50% sieht), empfiehlt sich der Einsatz von explicit multithreading in Form der Parallel Computing Toolbox.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mike793
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 11.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2009, 12:55     Titel:
  Antworten mit Zitat      
das parallele rechnen ist mir nicht so wichtig mir ist hier wichtig wie man Matlab sagt, das er gleichzeitig 4 ordner kontrolliert ob sich in diesen eine datei sich befindet. wenn nicht mehr soll er dann eine neue Datei hineingeben. -- ist nicht wirklich rechnen!!!!

funktioniert das mit dem befehl parfor?

Danke
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2009, 13:43     Titel:
  Antworten mit Zitat      
Hallo,

ich persönlich würde ja kein Problem darin sehen, die Verzeichnisse nacheinander abzutesten, aber das musst du wissen.

Grundgerüst:
Code:
matlabpool open 2 % öffnet 2 Sitzungen

folders = {...}

parfor I = 1:4
folder{I} kontrollieren
end

matlabpool close


Wenn es dir um die Zeit geht, muss ich dich warnen: das Starten der parallelen MATLAB Sessions wird länger dauern als die Überprüfung verschiedener Verzeichnisse.
Generell ist es nicht sinnvoll, mehr Sitzungen zu öffnen als Rechenkerne zur Verfügung stehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mike793
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 11.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2009, 14:06     Titel:
  Antworten mit Zitat      
vielen dank!!!

mich würde jedoch noch interesieren, ob man den Befehl matlabpool benötigt den wie ich gerade gesehen habe, kennt mein Matlab diesen nicht! (jedoch parfor kennt mein Matlab!)... und ich benötige dieses paralleliseren schon, weil ich zur gleichen Zeit die 4 Ordner kontrllieren will und wenn nötig sie mit neuen dateien zu füllen!!! denn es kann sein, das der 3 Prozess schneller ist als der 1. . wobei der Prozess ein neues Matlab öffnet und lasse so die Kerne von Windows auslasten!

Zuletzt bearbeitet von mike793 am 06.11.2009, 14:25, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2009, 14:14     Titel:
  Antworten mit Zitat      
Hallo,

dazu benötigst du (wie oben erwähnt) die Parallel Computing Toolbox. Wenn der matlabpool nicht vorher geöffnet wurde, wird die parfor-Schleife im wesentlichen wie eine for-Schleife abgearbeitet (abgesehen z.B. von der Reihenfolge der Iterationen). Beispiel:

Code:
for I=1:10, disp(I), end
parfor I=1:10, disp(I), end


Ich verstehe allerdings immer noch nicht, was in dem Fall dagegen spricht zu sagen:

Code:
folders = {...}
for I = 1:4
Verzeichnis überprüfen
Falls Datei vorhanden, reinschreiben, break
end
falls keine Datei gefunden wurde, eine im ersten Ordner aufmachen.


Extrem lange sollte das ja nicht dauern.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mike793
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 11.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2009, 14:32     Titel:
  Antworten mit Zitat      
mein Problem ist: ich habe 4 Ordner in denen muss matlab eine Datei hineinkopieren und dazu ein anderes matlab Programm starten! ist das zu ende soll das gestartete matlab Programm die datei löschen. Das Haupt- Matlab soll jetzt kontrolieren in einem Abstand von 2 sek. ob die Datei vorhanden ist wenn nicht, sie neu hineinkopieren. Es kann nun sein , das ein Prozess von den 4 nun schneller ist als der die anderen. Somit dachte ich, ich lasse alle zur gleichen Zeit kontrollieren um zum befüllen keine Zeit zu verschwenden!
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 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.