| Operatoren |
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.
Filtert die zu schreibende Information
Defaultwert: 'none'
Wertevorschläge: 'mode', 'operator', 'iconic_type'
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
| Operatoren |