write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge (Operator)

Name

write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge — Speichern von Informationen über das hardwareabhängige Verhalten der automatischen Operator-Parallelisierung.

Signatur

write_aop_knowledge( : : FileName, GenParamName, GenParamValue : )

Herror write_aop_knowledge(const char* FileName, const char* GenParamName, const char* GenParamValue)

Herror T_write_aop_knowledge(const Htuple FileName, const Htuple GenParamName, const Htuple GenParamValue)

void WriteAopKnowledge(const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue)

static void HSystem::WriteAopKnowledge(const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue)

static void HSystem::WriteAopKnowledge(const HString& FileName, const HString& GenParamName, const HString& GenParamValue)

static void HSystem::WriteAopKnowledge(const char* FileName, const char* GenParamName, const char* GenParamValue)

static void HSystem::WriteAopKnowledge(const wchar_t* FileName, const wchar_t* GenParamName, const wchar_t* GenParamValue)   (Nur Windows)

static void HOperatorSet.WriteAopKnowledge(HTuple fileName, HTuple genParamName, HTuple genParamValue)

static void HSystem.WriteAopKnowledge(string fileName, HTuple genParamName, HTuple genParamValue)

static void HSystem.WriteAopKnowledge(string fileName, string genParamName, string genParamValue)

def write_aop_knowledge(file_name: str, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[str, int, float]]) -> None

Beschreibung

write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_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_aopoptimize_aopOptimizeAopOptimizeAopOptimizeAopoptimize_aop ermittelt oder von einer Datei mit read_aop_knowledgeread_aop_knowledgeReadAopKnowledgeReadAopKnowledgeReadAopKnowledgeread_aop_knowledge gelesen werden.

write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge ermöglicht es, dieses Wissen explizit in einer Binär-Datei abzuspeichern. Hierfür wird in FileNameFileNameFileNameFileNamefileNamefile_name der Name der Datei übergeben (inkl. des Pfades und der Dateierweiterung). Falls FileNameFileNameFileNameFileNamefileNamefile_name einen leerer String ''"""""""""" enthält, schreibt HALCON die AOP-Informationen in die Datei '.aop_info'".aop_info"".aop_info"".aop_info"".aop_info"".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_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_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_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge die Aktualisierung des Dateiinhalts mit dem Parameterpaar GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value kontrollieren. GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name definiert dabei die Bedeutung, GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value den Wert der gewünschten Aktion. Dabei muss jeder Eintrag in GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name jeweils einen korrespondierenden Eintrag in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value haben, d.h. dass die Länge der Parametertupel gleich lang sein muss. Im Folgenden sind die möglichen Werte für GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name gelistet und die jeweils möglichen Werte für GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value beschrieben:

'mode'"mode""mode""mode""mode""mode"

setzt die Art, wie das bestehende Wissen mit den gleichen Attributen in der Datei aktualisiert wird.

'truncate'"truncate""truncate""truncate""truncate""truncate"

für GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value löscht das bestehende Wissen mit passenden Attributen, bevor die neuen Informationen der Datei zugefügt werden.

'renew'"renew""renew""renew""renew""renew"

überschreibt bestehendes Wissen und fügt neues hinzu (Standard).

'append'"append""append""append""append""append"

behält alle existierenden Operatorinformationen und fügt nur noch nicht enthaltenes Wissen hinzu.

'nil'"nil""nil""nil""nil""nil"

unterdrückt jegliche Aktualisierung der Datei, sondern überprüft nur die Datei hinsichtlich ausreichender Benutzerrechte für einen Schreib- und Lesezugriff.

'operator'"operator""operator""operator""operator""operator"

weist darauf hin, dass der korrespondierende Wert von GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 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.

'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type"

schränkt die zu speichernde Information auf einen bestimmten ikonischen Typ ein. Folgende Werte werden für GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value unterstützt: 'byte'"byte""byte""byte""byte""byte", 'uint2'"uint2""uint2""uint2""uint2""uint2", 'real'"real""real""real""real""real", 'int1'"int1""int1""int1""int1""int1", 'int2'"int2""int2""int2""int2""int2", 'int4'"int4""int4""int4""int4""int4", 'int8'"int8""int8""int8""int8""int8", 'direction'"direction""direction""direction""direction""direction", 'vector_field'"vector_field""vector_field""vector_field""vector_field""vector_field", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'vector_field'"vector_field""vector_field""vector_field""vector_field""vector_field", 'complex'"complex""complex""complex""complex""complex", 'region'"region""region""region""region""region", 'xld'"xld""xld""xld""xld""xld". Es können mehrere ikonische Typen festgelegt werden.

Ausführungsinformationen

Parameter

FileNameFileNameFileNameFileNamefileNamefile_name (input_control)  filename.write HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Name der Informationsdatei

Defaultwert: '' "" "" "" "" ""

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Filtert die zu schreibende Information

Defaultwert: 'none' "none" "none" "none" "none" "none"

Wertevorschläge: 'mode'"mode""mode""mode""mode""mode", 'operator'"operator""operator""operator""operator""operator", 'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  string(-array) HTupleMaybeSequence[Union[str, int, float]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Spezifiziert den Filter

Parameteranzahl: GenParamName == GenParamValue

Defaultwert: 'none' "none" "none" "none" "none" "none"

Wertevorschläge: 'truncate'"truncate""truncate""truncate""truncate""truncate", 'renew'"renew""renew""renew""renew""renew", 'append'"append""append""append""append""append"

Ergebnis

Sind die Parameterwerte korrekt, dann liefert read_aop_knowledgeread_aop_knowledgeReadAopKnowledgeReadAopKnowledgeReadAopKnowledgeread_aop_knowledge den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation