KlassenKlassenKlassenKlassen | | | | Operatoren

check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential (Operator)

Name

check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential — Überprüfen der Hardware bezüglich des Potentials zur Parallelverarbeitung.

Warnung

check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Anwendungen sollten stattdessen den Operator optimize_aopoptimize_aopOptimizeAopoptimize_aopOptimizeAopOptimizeAop verwenden.

Signatur

check_par_hw_potential( : : AllInpPars : )

Herror check_par_hw_potential(const Hlong AllInpPars)

Herror T_check_par_hw_potential(const Htuple AllInpPars)

Herror check_par_hw_potential(const HTuple& AllInpPars)

void CheckParHwPotential(const HTuple& AllInpPars)

static void HSystem::CheckParHwPotential(Hlong AllInpPars)

void HOperatorSetX.CheckParHwPotential([in] VARIANT AllInpPars)

void HSystemX.CheckParHwPotential([in] Hlong AllInpPars)

static void HOperatorSet.CheckParHwPotential(HTuple allInpPars)

static void HSystem.CheckParHwPotential(int allInpPars)

Beschreibung

check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential wird verwendet, um die automatische Parallelisierung von HALCON-Operatoren zu unterstützen. HALCON verwendet intern einen Parallelisierungsmechanismus, um Mehrprozessorarchitekturen besser zu nutzen und die Bearbeitungsdauer von Operatoren zu verkürzen. Da die Parallelisierung automatisch geschieht, muss der Anwender programmtechnisch keine Vorarbeiten für die Parallelverarbeitung leisten. Das bedeutet insbesondere, dass alle Programme, die auf HALCON-Operatoren basieren, direkt bzw. unverändert auf Parallel-Hardware verwendet werden können und trotzdem deren erweitertes Potential mittels Parallelverarbeitung nutzen können. check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential untersucht eine gegebene Hardware auf ihre Eignung zur parallelen Bearbeitung von HALCON Operatoren. Hierfür wird jeder Operator, der sich prinzipiell für eine parallele Bearbeitung im Zuge der automatischen Paralleliserung eignet, sowohl sequentiell als auch parallel mehrfach bearbeitet, wobei die Eingabeparameter in mehreren Durchläufen verschieden belegt werden, um zum Beispiel Abhängigkeiten zwischen der Größe von Eingabebildern und der Rentabilität der Parallelverarbeitung zu testen. Hierbei wird der Eingabeparameter AllInpParsAllInpParsAllInpParsAllInpParsAllInpParsallInpPars berücksichtigt: Normalerweise, das heißt, wenn AllInpParsAllInpParsAllInpParsAllInpParsAllInpParsallInpPars mit dem Standardwert 0 („false“) belegt ist, werden ausschließlich Abhängigkeiten zu bestimmten Eingabeparametern untersucht, bei denen eine Abhängigkeit zur Bearbeitungsdauer „wahrscheinlich“ ist. Alle anderen Eingabeparameter bleiben unberücksichtigt, was den gesamten Vorgang merklich beschleunigt. In seltenen Fällen kann es jedoch vorkommen, dass ein Operator für eine neue HALCON-Release intern umgeschrieben wurde. Dann kann es sein, dass ein Steuerparameter, der in den bisherigen HALCON-Versionen keine direkte Abhängigkeit zur Operatorbearbeitungsdauer aufgewiesen hat, nun solch eine Abhängigkeit besitzt. In diesem Fall, lohnt es sich, den AllInpParsAllInpParsAllInpParsAllInpParsAllInpParsallInpPars auf 1 („true“) zu setzen, um die Betrachtung aller Eingabeparameter zu erzwingen. Im Zweifel findet sich ein entsprechender Hinweis in den „Release Notes“ einer HALCON-Release. Insgesamt werden innerhalb der Testläufe von check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential viele einzelne rechnerspezifische Informationen gesammelt, die es HALCON ermöglichen, Operatoren optimal parallel zu bearbeiten. Die gesammelten Daten werden resident gespeichert und stehen allen weiteren HALCON-Programmläufen zur Verfügung. check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential muss also nur ein einziges Mal auf jedem Mehrprozessorrechner, auf dem die automatische Parallelisierung genutzt werden soll, ausgeführt werden. Natürlich sollte check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential erneut aufgerufen werden, sobald ein Rechner zum Beispiel durch den Einbau einer neuen CPU verändert wird, oder sobald das Betriebssystem des Rechners ausgetauscht wird. Dies gilt auch, falls sich der Rechnername („host name“) ändert, da HALCON die rechner-spezifische Information anhand des „host names“ identifiziert. Falls derselbe Mehrprozessorrechner unter verschiedenen Betriebssystemen (z.B. Windows und Linux) genutzt wird, sollte check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential jeweils einmal für jedes Betriebssystem ausgeführt werden, um auch den starken Einfluss des Betriebssystems auf die Nutzung paralleler Hardware korrekt messen zu können. Unter Windows speichert HALCON das zum jeweiligen Rechner gehörende Parallelisierungswissen in dessen Registry und zwar in einem rechnerspezifischen Registry-Schlüssel, der von verschiedenen Benutzern gleichermaßen benutzt werden kann. Unter Windows NT kann der betreffende Registry-Schlüssel im Normalfall durch jeden Benutzer verändert werden. Bei Windows 2000 ist dies jedoch normalerweise nur Benutzern erlaubt, die Administratorrechte besitzen oder zumindest der Gruppe „Hauptbenutzer“ angehören. Bei allen anderen Benutzern zeigt der Aufruf von check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential keine Auswirkung (liefert jedoch auch keinen Fehler). Bei unixartigen Systemen wird das Parallelisierungswissen in einer Datei direkt im HALCON-Installationsverzeichnis ($HALCONROOT) abgespeichert. Folglich sollte auch hier der Operator check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential durch einen entsprechend autorisierten Benutzer ausgeführt werden, d.h. durch einen Benutzer, der die Schreibrechte auf das besagte Verzeichnis besitzt. Wird HALCON unter Linux/OS X in einem Netzwerk verwendet, so werden in der Datei die Daten für alle Rechner, auf denen ein Hardware-Check ausgeführt wurde, gesammelt.

Achtung

Da check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential zu Testzwecken jeden zu parallelisierenden Operator mehrfach aufrufen und bearbeiten muss, kann die Ausführungsdauer von check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential verhältnismäßig lange dauern. Der Operator check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential muss durch entsprechend autorisierte Benutzer aufgerufen werden, damit die gesammelten Informationen dauerhaft gespeichert werden können (Details hierzu finden sich in der obigen Operatorbeschreibung).

Parallelisierung

Parameter

AllInpParsAllInpParsAllInpParsAllInpParsAllInpParsallInpPars (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Sämtliche Eingabeparameter untersuchen?

Defaultwert: 0

Werteliste: 0, 1

Ergebnis

Sind die Parameterwerte korrekt, dann liefert check_par_hw_potentialcheck_par_hw_potentialCheckParHwPotentialcheck_par_hw_potentialCheckParHwPotentialCheckParHwPotential den Wert 2 (H_MSG_TRUE).

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren