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

Kann MatLab threadenfür Nutzung aller Kerne?

 

-horn-
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 14.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2009, 21:03     Titel: Kann MatLab threadenfür Nutzung aller Kerne?
  Antworten mit Zitat      
moien,

ich hab noch nicht sonderlich viel mit matlab gemacht und programmiere meine aufgabe in java und bin an einer stelle, wo ich mich gerade ins threaden bei java einarbeite.
einer meiner professoren sagte, dass ich meine aufgabe auch mit matlab machen könnte, und bei den berechnungen und vielen programmieranteilen hat er auch recht.
jetzt würde ich auch gerne wissen, ob matlab entweder selber so schlau arbeitet, dass er aufgaben selber auf alle kerne verteilen kann, oder ob man explizit sagen kann, dass diese und jener anteil parallel abgearbeitet werden kann und erst an einer bestimmten stelle wieder zusammenkommen müssen.

danke im voraus für eure antworten Wink

grüße, Andreas
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 15.08.2009, 00:13     Titel:
  Antworten mit Zitat      
Hallo Andreas,

seit Matlab R2007 unterstützt Matlab Multithreading:

in R2007 musste man erst in Eigenschaften-Menü der Multithreading aktiviert, werden.
ab R2008 ist schon per Default aktiv.

Dabei wird von Matlab automatisch bestimmt, wie viele Kerne benutzt werden sollen.
Man kann auch manuell in diesem Menü bestimmen, wie viele Threads man verwenden möchte.
siehe auch hier Link zu dem Thema


Noch besser, wenn man über Parallel Computing Toolbox verfügt,
dann kann man sich Anzahl der Parallel laufender Prozesse bestimmen.

Durch geringe Modifikationen kann Code-Blöcke parallelisieren, wie z.B Schleifen-Abläufe dazu muss man for durch parfor ersetzen.

Die Lizenzierung finde ich aber zu teuer, ein normaler Mensch kann es sich nicht leisten.
Es läuft über Anzahl der Worker( Parallele Prozesse), die man zuschalten darf.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 15.08.2009, 04:28     Titel:
  Antworten mit Zitat      
Gibt es zum eingebauten Multithreading sowas wie einen profiler/taskmanager-Auslastungsanzeige, der dan angibt, auf welchem Kern wie viel gerechnet wurde ?
Private Nachricht senden Benutzer-Profile anzeigen
 
-horn-
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 14.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2009, 23:13     Titel:
  Antworten mit Zitat      
moien,

das parallel zusatz würd ich mir ungern kaufen Wink. ich dachte eher, das matlab das auch so speziel von sich aus schon machen würde. und ich will da gerne selber sagen können, was parallel läuft und was nicht.

grüße, Andreas
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 17.08.2009, 10:03     Titel:
  Antworten mit Zitat      
Hallo,

die multithreading Fähigkeiten bei MATLAB betreffen im wesentlichen die grundlegende lineare Algebra (Matrix Multiplikationen z.B.). Wenn Du in der Hilfe nach "Multiprocessing" suchst, der erste Eintrag beschreibt dies noch etwas detaillierter.

Ciao,
Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.08.2009, 14:07     Titel:
  Antworten mit Zitat      
Andy386 hat Folgendes geschrieben:
Gibt es zum eingebauten Multithreading sowas wie einen profiler/taskmanager-Auslastungsanzeige, der dan angibt, auf welchem Kern wie viel gerechnet wurde ?


z.B. Prozess Explorer
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Private Nachricht senden Benutzer-Profile anzeigen
 
-horn-
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 14.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2009, 19:58     Titel:
  Antworten mit Zitat      
moien,

also ist das hier http://www.mathworks.de/company/pre.....rticles/article31166.html integriert, kann aber vom benutzer für seinen code nicht gezielt angesprochen werden, damit aufgaben auf prozesse verteilt werden?

ich will gerade ein vergleich von matlab zu java (was ich nun nutze) ziehen, und punkte sind unter anderem:

matlab:
keine gezielte zuweisung von threads
interpretierende skriptsprache

java:
threadingfähig
compilierende code (aus bytecode)

es wäre natürlich schön, wenn ich zu jedem vergleich ordentliche quellen hätte Smile. deswegen nutze ich diesen doch alten thread nochmal um für jede behauptung was zu finden.

grüße, Andreas
Private Nachricht senden Benutzer-Profile anzeigen
 
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.