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