get_aop_infoT_get_aop_infoGetAopInfoGetAopInfo (Operator)

Name

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

Signatur

get_aop_info( : : OperatorName, IndexName, IndexValue, InfoName : InfoValue)

Herror T_get_aop_info(const Htuple OperatorName, const Htuple IndexName, const Htuple IndexValue, const Htuple InfoName, Htuple* InfoValue)

void GetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HTuple& InfoName, HTuple* InfoValue)

static HTuple HSystem::GetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName)

static HString HSystem::GetAopInfo(const HString& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName)

static HString HSystem::GetAopInfo(const char* OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const char* InfoName)

static HString HSystem::GetAopInfo(const wchar_t* OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const wchar_t* InfoName)   (Nur Windows)

static void HOperatorSet.GetAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, HTuple infoName, out HTuple infoValue)

static HTuple HSystem.GetAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, string infoName)

static string HSystem.GetAopInfo(string operatorName, HTuple indexName, HTuple indexValue, string infoName)

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_aopOptimizeAopOptimizeAopOptimizeAop Abhängigkeiten des Laufzeitverhaltens von der Hardware und Eingabeparametern ermittelt werden. Der Operator get_aop_infoget_aop_infoGetAopInfoGetAopInfoGetAopInfo liest Elemente dieser Informationen, während diese durch den Operator set_aop_infoset_aop_infoSetAopInfoSetAopInfoSetAopInfo verändert werden können.

Um die operatorspezifischen Informationen adressieren zu können, sind die Daten in einer 3-stufigen Hierarchie indizierbar, die sich mit query_aop_infoquery_aop_infoQueryAopInfoQueryAopInfoQueryAopInfo 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. Während der Operatorname in OperatorNameOperatorNameOperatorNameOperatorNameoperatorName übergeben wird, definieren IndexNameIndexNameIndexNameIndexNameindexName und IndexValueIndexValueIndexValueIndexValueindexValue die letzteren beiden Indizes. IndexNameIndexNameIndexNameIndexNameindexName erhält dabei die Indexkennung, IndexValueIndexValueIndexValueIndexValueindexValue den Indexwert, wie sie von query_aop_infoquery_aop_infoQueryAopInfoQueryAopInfoQueryAopInfo zurückgegeben werden.

get_aop_infoget_aop_infoGetAopInfoGetAopInfoGetAopInfo gibt die spezifizierten Elemente des AOP-Wissens eines Operators in InfoValueInfoValueInfoValueInfoValueinfoValue zurück. Die Art der Information kann mit dem Parameter InfoNameInfoNameInfoNameInfoNameinfoName aus folgenden Werten gewählt werden:

'max_threads'"max_threads""max_threads""max_threads""max_threads"

gibt die größte zulässige Threadanzahl zurück, mit der der Operator parallelisiert werden darf. Wenn keine Daten vorhanden sind enthält InfoValueInfoValueInfoValueInfoValueinfoValue den Wert -1 (unbeschränkt). Falls der Operator keine automatische Parallelisierung unterstützt, wird der Wert 1 zurückgegeben.

'split_level'"split_level""split_level""split_level""split_level"

gibt alle zulässigen Parallelisierungsebenen für den spezifizierten Operator, ikonischen Typ und Methodenparameter zurück. Mögliche Ebenen sind 'split_tuple'"split_tuple""split_tuple""split_tuple""split_tuple", 'split_channel'"split_channel""split_channel""split_channel""split_channel", 'split_domain'"split_domain""split_domain""split_domain""split_domain" und 'split_partial'"split_partial""split_partial""split_partial""split_partial". Falls keine automatische Parallelisierung unterstützt wird oder alle Ebenen ausgeschaltet wurden, wird ein leerer String zurückgegeben. Um alle Parallelisierungsebenen zu erfahren, die vom Operator prinzipiell unterstützt werden, sollte der Operator get_operator_infoget_operator_infoGetOperatorInfoGetOperatorInfoGetOperatorInfo verwendet werden.

'model'"model""model""model""model"

gibt den gespeicherten Modelltyp zurück. Mögliche Werte sind 'threshold'"threshold""threshold""threshold""threshold", 'linear'"linear""linear""linear""linear" und 'mlp'"mlp""mlp""mlp""mlp" (siehe hierzu auch die Beschreibung des Operators optimize_aopoptimize_aopOptimizeAopOptimizeAopOptimizeAop). Falls keine Optimierungsdaten vorliegen wird ein leerer String zurückgegeben.

Ausführungsinformationen

Parameter

OperatorNameOperatorNameOperatorNameOperatorNameoperatorName (input_control)  string HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Operator, zu dem Information abgefragt werden soll.

Wertevorschläge: 'mean_image'"mean_image""mean_image""mean_image""mean_image", 'opening_circle'"opening_circle""opening_circle""opening_circle""opening_circle", 'find_shape_model'"find_shape_model""find_shape_model""find_shape_model""find_shape_model"

IndexNameIndexNameIndexNameIndexNameindexName (input_control)  string-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Ikonischer Objekttyp für Information.

Defaultwert: ['iconic_type','parameter:0'] ["iconic_type","parameter:0"] ["iconic_type","parameter:0"] ["iconic_type","parameter:0"] ["iconic_type","parameter:0"]

IndexValueIndexValueIndexValueIndexValueindexValue (input_control)  string-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Parameterwert für Information

Parameteranzahl: IndexName == IndexValue

Defaultwert: ['byte',''] ["byte",""] ["byte",""] ["byte",""] ["byte",""]

InfoNameInfoNameInfoNameInfoNameinfoName (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Art der Information.

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

Wertevorschläge: 'max_threads'"max_threads""max_threads""max_threads""max_threads", 'split_level'"split_level""split_level""split_level""split_level", 'model'"model""model""model""model"

InfoValueInfoValueInfoValueInfoValueinfoValue (output_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

AOP-Information.

Ergebnis

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

Modul

Foundation