KlassenKlassenKlassenKlassen | | | | Operatoren

query_aop_infoT_query_aop_infoQueryAopInfoquery_aop_infoQueryAopInfoQueryAopInfo (Operator)

Name

query_aop_infoT_query_aop_infoQueryAopInfoquery_aop_infoQueryAopInfoQueryAopInfo — Abfragen von Indizierungs-Informationen über HALCONs automatische Operator-Parallelisierung.

Signatur

query_aop_info( : : OperatorName, IndexName, IndexValue : Name, Value)

Herror T_query_aop_info(const Htuple OperatorName, const Htuple IndexName, const Htuple IndexValue, Htuple* Name, Htuple* Value)

Herror query_aop_info(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, HTuple* Name, HTuple* Value)

void QueryAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, HTuple* Name, HTuple* Value)

static HTuple HSystem::QueryAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, HTuple* Value)

static HTuple HSystem::QueryAopInfo(const HString& OperatorName, const HString& IndexName, const HString& IndexValue, HTuple* Value)

static HTuple HSystem::QueryAopInfo(const char* OperatorName, const char* IndexName, const char* IndexValue, HTuple* Value)

void HOperatorSetX.QueryAopInfo(
[in] VARIANT OperatorName, [in] VARIANT IndexName, [in] VARIANT IndexValue, [out] VARIANT* Name, [out] VARIANT* Value)

VARIANT HSystemX.QueryAopInfo(
[in] VARIANT OperatorName, [in] VARIANT IndexName, [in] VARIANT IndexValue, [out] VARIANT* Value)

static void HOperatorSet.QueryAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, out HTuple name, out HTuple value)

static HTuple HSystem.QueryAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, out HTuple value)

static HTuple HSystem.QueryAopInfo(string operatorName, string indexName, string indexValue, out HTuple value)

Beschreibung

HALCON unterstützt einen Mechanismus, um das Verhalten der automatischen Parallelisierung von Operatoren (AOP) an Mehrprozessorarchitekturen anzupassen und Operatoren zu beschleunigen. Dazu können für jeden Operator, der sich auf Tupel-, Kanal- oder Domain-Ebene parallelisieren lässt, mit Hilfe von optimize_aopoptimize_aopOptimizeAopoptimize_aopOptimizeAopOptimizeAop Abhängigkeiten des Laufzeitverhaltens von der Hardware und Eingabeparametern ermittelt werden und durch die Operatoren get_aop_infoget_aop_infoGetAopInfoget_aop_infoGetAopInfoGetAopInfo und set_aop_infoset_aop_infoSetAopInfoset_aop_infoSetAopInfoSetAopInfo teilweise gelesen oder verändert werden. Um diese operatorspezifischen Informationen adressieren zu können, sind die Daten in einer 3-stufigen Hierarchie indizierbar, die sich mit query_aop_infoquery_aop_infoQueryAopInfoquery_aop_infoQueryAopInfoQueryAopInfo abfragen lässt. Die drei Indizierungsstufen setzen sich durch den Operatornamen, den ikonischen Bildtyp und optional einen Parameterstring zusammen, der einen speziellen Modus oder Methode des Operators spezifiziert.

Übergibt man in OperatorNameOperatorNameOperatorNameOperatorNameOperatorNameoperatorName einen leeren String ''"""""""""", werden die Parameter IndexNameIndexNameIndexNameIndexNameIndexNameindexName und IndexValueIndexValueIndexValueIndexValueIndexValueindexValue ignoriert und alle Operatornamen in ValueValueValueValueValuevalue zurückgegeben, für die AOP-Optimierungsdaten vorhanden sind. NameNameNameNameNamename enthält für jeden Operatornamen die entsprechende Indexkennung 'operator'"operator""operator""operator""operator""operator". Wird ein einzelner Operatorname mit OperatorNameOperatorNameOperatorNameOperatorNameOperatorNameoperatorName spezifiziert und ein leerer String ''"""""""""" den Parametern IndexNameIndexNameIndexNameIndexNameIndexNameindexName und IndexValueIndexValueIndexValueIndexValueIndexValueindexValue übergeben, werden alle ikonischen Typen erfragt, für die der Operator Informationen vorhält. ValueValueValueValueValuevalue enthält den ikonischen Typ in Form eines Strings, NameNameNameNameNamename die Indexkennung 'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type". Schließlich können die Parameterkennungen für einen ikonischen Typ eines Operators erfragt werden, wenn OperatorNameOperatorNameOperatorNameOperatorNameOperatorNameoperatorName den Operatornamen, IndexNameIndexNameIndexNameIndexNameIndexNameindexName die Kennung 'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type" und IndexValueIndexValueIndexValueIndexValueIndexValueindexValue den bestimmten ikonischen Typ enthält. NameNameNameNameNamename enthält dann die Parameterkennung, ValueValueValueValueValuevalue den entsprechenden Parameterwert des Operators, der eine spezielle Methode beschreibt Das Format des Strings der Parameterkennung setzt sich aus dem String 'parameter'"parameter""parameter""parameter""parameter""parameter" zusammen, gefolgt von einem Doppelpunkt-Trennzeichen ':'":"":"":"":"":" und einer Zahl, die die Parameterposition unter den Eingabe-Kontrollparameter des Operators beschreibt (beginnend bei 1). Falls der Operator keinen Methode-Parameter unterstützt oder keine parameterspezifischen Informationen für den Operator mit optimize_aopoptimize_aopOptimizeAopoptimize_aopOptimizeAopOptimizeAop ermittelt wurden, wird der String 'parameter:0'"parameter:0""parameter:0""parameter:0""parameter:0""parameter:0" für NameNameNameNameNamename zurückgegeben, während ValueValueValueValueValuevalue einen leeren String enthält. Falls jedoch keine AOP-Informationen für die spezifizierte Kennung vorliegen, enthält NameNameNameNameNamename einen leeren String.

Parallelisierung

Parameter

OperatorNameOperatorNameOperatorNameOperatorNameOperatorNameoperatorName (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Operator für AOP-Information.

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

IndexNameIndexNameIndexNameIndexNameIndexNameindexName (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Indizierungsname.

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

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

IndexValueIndexValueIndexValueIndexValueIndexValueindexValue (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Adressierungswert.

Parameteranzahl: IndexName == IndexValue

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

Wertevorschläge: ''"""""""""", 'byte'"byte""byte""byte""byte""byte", 'int1'"int1""int1""int1""int1""int1", 'int2'"int2""int2""int2""int2""int2", 'uint2'"uint2""uint2""uint2""uint2""uint2", 'int4'"int4""int4""int4""int4""int4", 'int8'"int8""int8""int8""int8""int8", 'direction'"direction""direction""direction""direction""direction", '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", 'xld_cont'"xld_cont""xld_cont""xld_cont""xld_cont""xld_cont", 'xld_poly'"xld_poly""xld_poly""xld_poly""xld_poly""xld_poly"

NameNameNameNameNamename (output_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Nächster Indizierungsname.

ValueValueValueValueValuevalue (output_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Zugehöriger Addressierungswert.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert read_aop_knowledgeread_aop_knowledgeReadAopKnowledgeread_aop_knowledgeReadAopKnowledgeReadAopKnowledge den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren