parfor, funktoren und Daten aus den Threads zurückschreiben
SimulantX
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 19.02.2016, 16:43
Titel: parfor, funktoren und Daten aus den Threads zurückschreiben
Hallo,
ich versuche meine Simulation für Parameter-Sweeps per "parfor" auf den Pool zu verteilen, was eigentlich auch gut funktioniert. Leider wollte ich dem parfor jetzt eine Vorbereitungs-Funktion und einen "collector" mitgeben, welcher die Ergebnisse weiterverwertet, filtert und schließlich abspeichert. Leider funktioniert es überhaupt nicht gut, wenn Matlab nicht sieht was dort geschieht.
Da Debugging mit parfor unmöglich ist, diese Hack-writes. Weil das mit dem einfachen "collector"-Objekt nicht funktioniert, zerlegt der sich nun vor dem Durchlauf in ein Feld von "slices", welche die Einzelergebnisse abspeichern und dann hinterher wieder zusammengesetzt werden.
Nun bekomme ich aber nur Grütze zurück. Das gesamte collector_slices-Array hat anschließen "hack2 = 1" und die collect-Methode speichert das übergebene i auch nochmal in einem "hack"-Feld, welches für alle Elemente nach dem parfor "hack=2" lautet.
Nun hab ich keinen Plan, was Matlab da treibt und kann nicht abschätzen, inwiefern bzw. wann mir da das vertiefte Studium der Dokumentation hilft.
Erkennt jemand auf einen Blick, warum das nicht funktionieren kann?
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
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.