10.07.2015 Views

HALCON Extension Package Programmer's Manual

HALCON Extension Package Programmer's Manual

HALCON Extension Package Programmer's Manual

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

22 CHAPTER 2. OPERATOR DESCRIPTION (’DEF’-FILES)2.2.12 parallelizationThe slot ÔÖÐÐÐÞØÓÒ contains information about the parallelization characteristics of anoperator when used in Parallel <strong>HALCON</strong> (see the manual Getting Started with <strong>HALCON</strong>for more information about Parallel <strong>HALCON</strong>). On the one hand, this regards the possibilityof using the operator in a parallel, for example, multithreaded application and on the otherhand this regards the automatic parallelization which Parallel <strong>HALCON</strong> uses to speed up theoperator’s processing when working with multi-processor hardware.The slot ÔÖÐÐÐÞØÓÒ consists of several sub-slots, each starting with a characteristickeyword followed by a colon and finishing with a semicolon. The example below shows theslot for the operator ÝÒ ØÖ×ÓÐ, which is not “local”, needs neither complete nor mutualexclusion, and is parallelized on tuple level. The single subslots and their meaning will bedescribed in the following sections.ÔÖÐÐÐÞØÓÒÔÖÓ××ÜÐÙ×ÚÐÝ Ð×ÔÖÓ××ÐÓÐÐÝ Ð×ÔÖÓ××ÑÙØÙÐ Ð×ÑØÓ×ÔÐØØÙÔÐÔÖÓ×× ÜÐÙ×ÚÐÝ ØÖÙ¸Ð×This subslot of ÔÖÐÐÐÞØÓÒ assigns, whether an operator is processed completelyexclusively (‘true’) by the main <strong>HALCON</strong> process/thread or not. An exclusive processingmeans that no other operator will be processed by Parallel <strong>HALCON</strong> while the exclusiveoperator is running. If an exclusive operator is started and other operators are still running,the processing of the exclusive operator is delayed until all other (currently running)operators have completed.An exclusively processed operator is always processed without any parallelization by themain <strong>HALCON</strong> thread/process. Note that even if Parallel <strong>HALCON</strong> is reentrant for mostof the operators, there are still some operators that have to be processed exclusively dueto reasons of their implementation.If no subslot ÔÖÓ×× ÜÐÙ×ÚÐÝ is filled in with an operator, it is assumed that theoperator needs no completely exclusive processing (“optimistic” assumption).ÔÖÓ×× ÑÙØÙÐ ØÖÙ¸Ð×This subslot of ÔÖÐÐÐÞØÓÒ assigns, whether Parallel <strong>HALCON</strong> processes an operatorunder mutual exclusion (‘true’) against itself or not. Here, a mutual exclusionmeans that the same operator may not run twice or more at the same time; for example,there will only run one instance of ÔØ ØÑÔÐØ at a time, whereas other operatorsmay run concurrently to ÔØ ØÑÔÐØ.An exclusively processed operator is always processed without any parallelization by themain <strong>HALCON</strong> thread/process.If no subslot ÔÖÓ×× ÑÙØÙÐ is filled in with an operator, it is assumed that the operatorneeds no mutual exclusion (“optimistic” assumption).ÔÖÓ×× ÐÓÐÐÝ ØÖÙ¸Ð×This subslot of ÔÖÐÐÐÞØÓÒ assigns, whether an operator must be processed locally<strong>HALCON</strong> <strong>Extension</strong> <strong>Package</strong> Interface / 2000-11-16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!