2015-12-28 7 views
6

Ich migriere meine OpenCV 2.4.2 nach OpenCV 3.0, um die OpenCL-Leistung über die Transparent-API zu nutzen. Aber ich stelle fest, dass einige Algorithmen bei der CPU- oder GPU-Implementierung die gleiche Zeit benötigen.
Ich suchte in der offiziellen Dokumentation, aber ich habe die Antwort nicht gefunden. Wie kann man wissen, ob ein Algorithmus eine automatische OpenCL Übersetzung in der Transparent API hat oder nicht?Woher weiß man, ob ein OpenCV 3.0-Algorithmus eine OpenCL-Implementierung in der transparenten API hat?

+1

Ich kenne keinen besseren Weg, als durch Quellcode zu gehen .. Warten wir auf eine Antwort: D – Miki

Antwort

1

Wenn Sie über amd gpu verfügen, verwenden Sie codexl und erstellen Sie ein neues codexl-Projekt, hängen Sie Ihr Projekt an und starten Sie die Sitzung von codexl oder starten Sie Ihr Projekt von Ihrer IDE und fügen Sie codexl zur Laufzeit hinzu. Wenn das Programm fertig ist, generiert codexl automatisch die notwendigen Graphen und Profiling-Informationen (wenn Sie die richtigen GPU-Profiling-Modi wählen).

benutzen ich codexl einmal zu wissen, wie compubench.com Arbeitsgruppe Größen behandelt. (Es war 32 bei einer Gelegenheit wegen der Speicherressourcenanforderungen)

Wenn es nicht OpenCL nutzen codexl Sie mit einem Dialogfenster informiert mögliche Ursachen nennen.

Sie können sogar Fehler, Warnungen auf diese Weise kennen und Kernel-String betrachten (aber wahrscheinlich gemangelt).


Intel hat Code-Builder

Nvidia einige zu Profilometer hat.