Software: FEM - Tutorial - Magnetfeld - Kennfelder - Parallelisierung: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
Zeile 32: Zeile 32:
  F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
  F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
* '''Wahlfreie serielle oder parallele Abarbeitung''' eines Scripts kann man nur durch Testen und Umschalten der Aufruf-Methode gewährleisten:
* '''Wahlfreie serielle oder parallele Abarbeitung''' eines Scripts kann man nur durch Testen und Umschalten der Aufruf-Methode gewährleisten:
:: Ordner des Batch-Skripts wird zum aktuellen Ordner:
:: Ordner des Batch-Skripts wird zum aktuellen Ordner:
  cd /D %~dp0
  cd /D %~dp0
:: Aufruf von FEMM mit LUA-Datei im aktuellen Ordner:
:: Aufruf von FEMM mit LUA-Datei im aktuellen Ordner:
  if exist Magnet_xx.LUA goto seriell
  if exist Magnet_xx.LUA goto seriell
:parallel
:parallel
  F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
  F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
  goto Ende
  goto Ende
:seriell  
:seriell  
  F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA
  F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA
:Ende
:Ende





Version vom 24. Juni 2013, 15:27 Uhr

Kennfeldberechnung mit parallelisierter Rastersuche

Bisher haben wir für die Durchführung der Rastersuche den seriellen Prozess gewählt:

  • Die nächste Modellberechnungen für die Rastersuche wird erst gestartet, wenn die vorherige Modellberechnung beendet ist.
  • Damit kann es zu keinen Ressourcenkonflikten zwischen den einzelnen Modellberechnungen kommen. Deshalb sind auch keine besonderen Maßnahmen zur Vermeidung solcher Konflikte erforderlich. Alle Dateien, welche während einer Modellberechnung nötig sind, können im aktuellen Arbeitsverzeichnis des Experiments verwaltet werden.

Bei der Rastersuche können alle Stützstellen völlig unabhängig voneinander berechnet werden. Deshalb kann nach Wahl von paralleler Prozess der gleichzeitige Start aller erforderlichen Modellberechnungen erfolgen. Dazu sind zuvor jedoch Maßnahmen zur Vermeidung von Ressourcenkonflikten zwischen den Modellberechnungen erforderlich.

Im Folgenden wird eine Lösung für die Parallelisierung der FEMM-Aufrufe im OptiY-Workflow entwickelt, welche auch für den seriellen Prozess funktioniert. Es wird dabei auf die Vermeidung von absoluten Pfadangaben geachtet, damit die Modelle und Prozesse portierbar bleiben.

Paralleler Prozess

1. Individuelle Script-Ordner pro Modell-Aufruf:

  • Für jeden einzelnen Script-Aufruf wird vom OptiY im aktuellen Script-Arbeitsverzeichnis ein individueller Script-Ordner angelegt (Ordner-Name = Script-Name + Nummer).
  • In jedem dieser Ordner wird die Input-Datei mit den zum Aufruf gehörenden Modell-Parametern gespeichert.
  • Eine Kopie des Scriptes (hier .BAT) wird ebenfalls in jedem Ordner gespeichert und aufgerufen.
  • Nach Ausführen dieses Scriptes erwartet OptiY die Output-Datei mit den Berechnungsergebnissen im zugehörigen Ordner.
  • Die Ordnerstruktur für eine 4x4-Rastersucher (16 Schritte) wird im folgenden Bild gezeigt:
Software FEM - Tutorial - Magnetfeld - optiy Ordnerstruktur parallel.gif
  • Für den Ordner "0" sind beispielhaft die enthaltenen Dateien angedeutet.
  • "OptiScript4" enthält die Befehle des BAT-Files.
  • Nach erfolgreicher Abarbeitung aller parallel gestarteten Script-Aufrufe werden die generierten Ordner vom OptiY wieder gelöscht.

2. Zuordnung des LUA-Scripts zu den Modell-Aufrufen

  • Das Modell in Form des LUA-Scripts existiert nur in einem Exemplar im Script-Arbeitsverzeichnis.
  • Die serielle Abarbeitung ist relativ einfach, weil man die LUA-Datei aus dem aktuellen Ordner des BAT-Scriptes ohne Angabe eines Pfad-Namens verwenden kann:
cd /D %~dp0
F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA
  • Die parallele Abarbeitung muss die LUA-Datei aus dem übergeordneten Ordner des BAT-Scriptes benutzen. Für jedes BAT-Script wird ja ein individueller Unterordner generiert, der damit zum aktuellen Ordner wird:
cd /D %~dp0
F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
  • Wahlfreie serielle oder parallele Abarbeitung eines Scripts kann man nur durch Testen und Umschalten der Aufruf-Methode gewährleisten:
:: Ordner des Batch-Skripts wird zum aktuellen Ordner:
cd /D %~dp0
:: Aufruf von FEMM mit LUA-Datei im aktuellen Ordner:
if exist Magnet_xx.LUA goto seriell
:parallel
F:\Programme\femm42\bin\femm.exe -lua-script=..\Magnet_xx.LUA
goto Ende
:seriell 
F:\Programme\femm42\bin\femm.exe -lua-script=Magnet_xx.LUA
:Ende



===>>> Abschnitt wird zur Zeit erarbeitet <<<===