| Operatoren |
check_par_hw_potential — Überprüfen der Hardware bezüglich des Potentials zur Parallelverarbeitung.
check_par_hw_potential ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Anwendungen sollten stattdessen den Operator optimize_aop verwenden.
check_par_hw_potential( : : AllInpPars : )
check_par_hw_potential 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_potential 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 AllInpPars berücksichtigt: Normalerweise, das heißt, wenn AllInpPars 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 AllInpPars 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_potential 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_potential 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_potential 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_potential 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_potential 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_potential 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.
Da check_par_hw_potential zu Testzwecken jeden zu parallelisierenden Operator mehrfach aufrufen und bearbeiten muss, kann die Ausführungsdauer von check_par_hw_potential verhältnismäßig lange dauern. Der Operator check_par_hw_potential muss durch entsprechend autorisierte Benutzer aufgerufen werden, damit die gesammelten Informationen dauerhaft gespeichert werden können (Details hierzu finden sich in der obigen Operatorbeschreibung).
Sämtliche Eingabeparameter untersuchen?
Defaultwert: 0
Werteliste: 0, 1
Sind die Parameterwerte korrekt, dann liefert check_par_hw_potential den Wert 2 (H_MSG_TRUE).
Foundation
| Operatoren |