write_aop_knowledge — Speichern von Informationen über das hardwareabhängige Verhalten der
automatischen Operator-Parallelisierung.
write_aop_knowledge( : : FileName, GenParamName, GenParamValue : )
write_aop_knowledge speichert das operatorspezifische Wissen zur
automatischen Operator-Parallelisierung (AOP) in einer Datei ab.
Diese Wissen wird vom HALCON-System verwaltet und genutzt, um
Mehrprozessorarchitekturen besser nutzen und die Operatoren zu
beschleunigen. Es beschreibt für jeden Operator, der sich auf Tupel-,
Kanal- oder auf Domain-Ebene parallelisieren lässt, das Laufzeitverhalten in
Abhängigkeit der Hardware. Dieses Hardware spezifische Wissen kann mit Hilfe
des Operators optimize_aop ermittelt oder von einer Datei mit
read_aop_knowledge gelesen werden.
write_aop_knowledge ermöglicht es, dieses Wissen explizit in einer
Binär-Datei abzuspeichern. Hierfür wird in FileName der Name der
Datei übergeben (inkl. des Pfades und der Dateierweiterung). Falls
FileName einen leerer String '' enthält, schreibt HALCON
die AOP-Informationen in die Datei '.aop_info' im HALCON
Installationsverzeichnis (Linux/macOS) oder im gemeinsame Datenverzeichnis
für Applikationen (Windows). Diese spezielle Datei wird automatisch
während der Initialisierungsphase des ersten HALCON Operators geladen.
write_aop_knowledge fügt dem gespeicherten Wissen Attribute wie
den Computernamen und Informationen über die HALCON-Architektur, -Variante,
-Version und -Revision hinzu. Das ermöglicht es HALCON, AOP-Informationen
von verschiedenen Systemen in dieselbe Datei zu schreiben. Zu diesem Zweck
kann write_aop_knowledge die Aktualisierung des Dateiinhalts mit dem
Parameterpaar GenParamName und GenParamValue
kontrollieren. GenParamName definiert dabei die Bedeutung,
GenParamValue den Wert der gewünschten Aktion. Dabei muss jeder
Eintrag in GenParamName jeweils einen korrespondierenden Eintrag in
GenParamValue haben, d.h. dass die Länge der Parametertupel gleich
lang sein muss. Im Folgenden sind die möglichen Werte für
GenParamName gelistet und die jeweils möglichen Werte für
GenParamValue beschrieben:
setzt die Art, wie das bestehende Wissen mit den gleichen Attributen in der Datei aktualisiert wird.
für GenParamValue löscht das
bestehende Wissen mit passenden Attributen, bevor die neuen
Informationen der Datei zugefügt werden.
überschreibt bestehendes Wissen und fügt neues hinzu (Standard).
behält alle existierenden Operatorinformationen und fügt nur noch nicht enthaltenes Wissen hinzu.
unterdrückt jegliche Aktualisierung der Datei, sondern überprüft nur die Datei hinsichtlich ausreichender Benutzerrechte für einen Schreib- und Lesezugriff.
weist darauf hin, dass der korrespondierende Wert
von GenParamValue einen Operatornamen enthält. Damit
lassen sich die Operatoren eingrenzen, für welche entsprechendes
AOP-Wissen abgespeichert werden soll. Mehrere Operatoren können
definiert. Standardmäßig wird jede verfügbare Information aller
Operatoren geschrieben.
schränkt die zu speichernde Information
auf einen bestimmten ikonischen Typ ein. Folgende Werte werden
für GenParamValue unterstützt:
'byte', 'uint2', 'real', 'int1',
'int2', 'int4', 'int8', 'direction',
'vector_field', 'cyclic', 'vector_field',
'complex', 'region', 'xld'. Es können mehrere
ikonische Typen festgelegt werden.
FileName (input_control) filename.write → (string)
Name der Informationsdatei
Defaultwert: ''
GenParamName (input_control) string(-array) → (string)
Filtert die zu schreibende Information
Defaultwert: 'none'
Wertevorschläge: 'mode', 'operator', 'iconic_type'
GenParamValue (input_control) string(-array) → (string / integer / real)
Spezifiziert den Filter
Parameteranzahl: GenParamName == GenParamValue
Defaultwert: 'none'
Wertevorschläge: 'truncate', 'renew', 'append'
Sind die Parameterwerte korrekt, dann liefert read_aop_knowledge
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Foundation