write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge (Operator)
名称
write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge — 将有关自动算子并行化的硬件相关行为的知识写入文件。
签名
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)
(
Windows only)
描述
write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge stores the automatic parallelization knowledge
of HALCON operators to file. The knowledge hold by the HALCON system is
used to better utilize multiprocessor
hardware in order to speed up the processing of operators. To optimize the
automatic parallelization of operators, HALCON needs some specific
knowledge about the speed of operators on the used hardware.
This hardware-specific knowledge
can be obtained by calling the operator optimize_aopoptimize_aopOptimizeAopOptimizeAopOptimizeAopoptimize_aop or read from
file by using read_aop_knowledgeread_aop_knowledgeReadAopKnowledgeReadAopKnowledgeReadAopKnowledgeread_aop_knowledge, respectively.
With write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge it is possible to store this knowledge
explicitly in a binary file. At this, FileNameFileNameFileNameFileNamefileNamefile_name denotes the
name of this file (incl. path and file extension). If an empty string
''"""""""""" is passed to FileNameFileNameFileNameFileNamefileNamefile_name, HALCON writes the knowledge
to the specific file '.aop_info'".aop_info"".aop_info"".aop_info"".aop_info"".aop_info" in the HALCON installation
directory (Linux) or within the common application data folder
(Windows). This file is read by HALCON during the initialization phase
automatically.
write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge adds attributes to the knowledge like
the host name and information about HALCON architecture, variant,
version, and revision. This enables HALCON to write aop knowledge
sets of different machines or HALCON systems into the same file.
Therefore, write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge can control the updating of the
files contents by a pair of values passed to GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value. Every entry in
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name must have one corresponding, specifying entry in
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value, meaning that the tuples passed to the parameters
must have the same length. GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name supports the values in
following list, describing the possible applicable values for
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value:
- 'mode'"mode""mode""mode""mode""mode"
-
sets the way how existing knowledge with same
attributes would be updated in the file.
- 'truncate'"truncate""truncate""truncate""truncate""truncate"
for GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value deletes
the existing knowledge with matching attributes before the new
information is added to file.
- 'renew'"renew""renew""renew""renew""renew"
overwrites existing knowledge and adds new one
(default).
- 'append'"append""append""append""append""append"
keeps all existing operator information and just
adds the knowledge not already contained.
- 'nil'"nil""nil""nil""nil""nil"
however refuses any update of the file but
checks the user privileges, i.e., if read write access is
available.
- 'operator'"operator""operator""operator""operator""operator"
denotes that the corresponding index value of
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value contains an operator name. It delimits the storage
on a dedicated operator set. Multiple definitions
of operators are possible. By default, information of any
operator possessing AOP optimization data is written.
- 'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type"
focuses on AOP information for a specific
iconic type, specified by following values of GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value:
'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",
'complex'"complex""complex""complex""complex""complex", 'region'"region""region""region""region""region", 'xld'"xld""xld""xld""xld""xld". Multiple definitions
of iconic types are possible.
执行信息
- Multithreading type: exclusive (runs in parallel only with independent operators).
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
FileNameFileNameFileNameFileNamefileNamefile_name (input_control) filename.write → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Name of knowledge file
默认值:
''
""
""
""
""
""
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Parameter name
默认值:
'none'
"none"
"none"
"none"
"none"
"none"
建议值:
'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)
Parameter value
元素数量:
GenParamName == GenParamValue
默认值:
'none'
"none"
"none"
"none"
"none"
"none"
建议值:
'truncate'"truncate""truncate""truncate""truncate""truncate", 'renew'"renew""renew""renew""renew""renew", 'append'"append""append""append""append""append"
结果
write_aop_knowledgewrite_aop_knowledgeWriteAopKnowledgeWriteAopKnowledgeWriteAopKnowledgewrite_aop_knowledge returns 2 (
H_MSG_TRUE)
if all parameters are correct and
the file could be read. If necessary, an exception is raised.
模块
Foundation