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

Mehrere Simulationen gleichzeitig [Multicore]

 

NFTVirus
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2011, 08:10     Titel: Mehrere Simulationen gleichzeitig [Multicore]
  Antworten mit Zitat      
Hallo,

ich habe das Problem, dass ich mit einer Simulation relativ viele unterschiedliche Startparameter durchsimulieren muss und jede Simulation relativ lange dauert.
Gibt es die Möglichkeit, dass ich die Simulation einfach mehrfach unter anderem Namen starte und das Matlab dann alle Cores nutzt? Momentan komme ich so immer nur auf 25% CPU auslastung alos nur einer von Vier Kernen wird genutzt. Was kann ich dagegen tun?

Gruß

Virus
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.08.2011, 09:10     Titel:
  Antworten mit Zitat      
Hallo,

das ist mit der Parallel Computing Toolbox möglich, z.B. mit parfor.

Weitere Informationen hier:
http://www.mathworks.de/parallel-computing/
http://www.mathworks.de/parallel-co.....mulation-performance.html

Eine (kostenlose) Demonstration des ganzen gibt es hier:
http://www.mathworks.com/company/ev.....s/wbnr50695.html?id=50695

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2011, 14:04     Titel:
  Antworten mit Zitat      
Vielen Dank damit läuft es jetzt auch, aber noch eine andere Frage:

ich habe jetzt in einer parfor-Schleife i- mal mit set_param andere Startparameter vorgegeben und versuche nun mit sim('..') eine Ausgabe zu erhalten. Aber irgendwie will das nicht. Ich habe einen Out Block in der Simulation von dem ich gerne die Daten hätte. Kann mir da vielleicht nochmal jemand einen Tipp geben?!

DANKE
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

wenn du "irgendwie will das nicht" genauer beschreiben könntest, wäre das Klasse.
Gibt es eine Fehlermeldung?
Unerwartete Ergebnis?

Ich persönlich schreibe lieber Variablennamen in die Blöcke und ändere die Variablen, das erscheint mir am einfachsten.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2011, 14:17     Titel:
  Antworten mit Zitat      
ja klar kann ich genauer erkläre also:

erst habe ich versicht die Variablennamen zu ändern z.B. von einem To_File - Block, da kommt aber keine Fehlermeldung sonder es wird einfach nichts abgespeichert. Wie gehe ich da am Besten vor wenn ich die parFor über i von 0 bis 5 Laufen habe und einfach nur den Abspeichernamen ändern will?

set_param('Model/To_File', 'filename' , num2str(i))

das war so mein Gedanke was ist daran falsch?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

was denn nun? Erst ging es um verschiedene Startparameter, jetzt um ToFile-Blöcke? Ich bin verwirrt.
Vielleicht wäre es am einfachsten, wenn du deinen Code bzw. die relevanten Teile und ggf. auch das Modell (oder ein vereinfachtes Modell)hier reinstellst?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2011, 14:39     Titel:
  Antworten mit Zitat      
ich würde gerne die Ergebnisse zu den unterschiedlichen Startparametern in irgend einer Weise ordentlich im Workspace ablegen.

mein code schaut bis jetzt so aus:

Code:

function[A] = parallel()

parfor i = 1:4
   wert = 0.00001*i;
   load_system('Modell')
   set_param('Modell/TS', 'value', num2str(wert));
   
   A(i) = sim('Modell');
end


 


Bei der Zeile A(i) = sim('Modell'); liegt mein Problem, irgendwie habe ich noch nicht verstanden wie ich ordentlich meine Ergebnisse ausgeben kann. In meiner Simulation ist ein out-Block der momentan einfach noch Out1 heißt. Die Daten dieses Blockes würde ich gerne in einzelen Spalten ablegen oder direkt in einzelnen Variablen.

Ich hoffe ich habe es einigermaßen verständlich rüberbringen können und danke schonmal für die Geduld Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
NFTVirus
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2011, 14:41     Titel:
  Antworten mit Zitat      
oder halt über den To_File Block aber da sist mir egal wie
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.08.2011, 15:07     Titel:
  Antworten mit Zitat      
Hallo,

ich hab den sim-Befehl mal ein bisschen angepasst und das für ein Minimalmodell durchgemacht. Sieht eigtl. gut aus.

Code:
function [A] = parallelsims()

t = cell(1,4);
states = cell(1,4);
A = cell(1,4);
parfor i = 1:4
   wert = 0.00001*i;
   load_system('Modell')
   set_param('Modell/TS', 'value', num2str(wert));
   
   [t{i}, states{i}, A{i}] = sim('Modell');
end


Grüße,
Harald

Modell.mdl
 Beschreibung:

Download
 Dateiname:  Modell.mdl
 Dateigröße:  22.37 KB
 Heruntergeladen:  509 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
NFTVirus
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2011, 15:22     Titel:
  Antworten mit Zitat      
Danke für die Hilfe!!! Jetzt läuft es so wie ich es mir vorgestellt habe!!
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 - 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.