Frage

Ich bin auf der Suche nach einer guten OpenCL-Wrapper \ Bibliothek für Python, mit einem guten Dokumentation. Ich habe versucht, einige zu suchen ... kann aber nicht einen gut genug finden.

War es hilfreich?

Lösung

Die beliebtesten und am besten dokumentierte Option scheint PyOpenCL zu sein. Sie behauptet, eine komplette Wrapper für OpenCL und die Dokumentation sieht gut zu sein.

Andere Tipps

Sowohl CLyther und PyOpenCL Blick mir gut dokumentiert.

PYCL ist ein ctypes zu OpenCL Bindung (hosted auf bitbucket )

  

Sein primäres Ziel ist einfach: Wrap OpenCL in der Weise, dass so viele Python-Implementierungen es wie möglich nutzen können. Es ist derzeit auf CPython getestet 2. {5,6,7}, 3.2 und 1.5 PyPy. Es ist bekannt, weitgehend nicht Arbeit auf Jython, deren ctypes Bibliothek ist noch nicht ausgereift.

     

Um dies zu erreichen, haben wir eschew Erweiterungsmodule und Abhängigkeiten außerhalb der Standardbibliothek. Idealer Dinge wie NumPy Arrays und PIL Bilder sollten einfach funktionieren, aber sie sollten nicht erforderlich

Es ist noch ziemlich neu. Ich habe vor kurzem mit ihm gespielt, und es funktioniert gut. Nicht getan Timings im Vergleich zu PyOpenCL, aber die Leistung erscheint durchaus sinnvoll sein

Ich habe keine Arbeit für mich mit OS X 10.6 des OpenCL 1.0 (und eine AMD Radeon 5870, siehe hier ), aber perfekt funktioniert unter 10.7 und OpenCL 1.1

Wie für die Dokumentation, es ist eine ziemlich direkte Bindung an den C-Bibliotheken, so dass jede Dokumentation diejenigen gelten. Auch "Abenteuer in PyOpenCL" ist gut, und gilt für fast alle Bindungen

Wir entwickeln opencl4py , höhere Ebene Bindungen. Dieses Projekt verwendet CFFI, so dass es auf PyPy funktioniert.

Das große Problem, das wir mit PyOpenCL angetroffen wird, ist, dass ‚Import PyOpenCL‘ tut OpenCL Initialisierung und nimmt den gesamten virtuellen Speicher bei NVIDIA-Treiber, von den richtigen Forking zu verhindern und effektiv zu deaktivieren Multiprocessing (ja, wir behaupten, dass mit PyOpenCL deaktiviert Multiprozessing bei dest mit NVIDIA). opencl4py Anwendungen faul OpenCL Initialisierung der Lösung dieser "Import Hölle".

Später gewann sie einige nette Features wie Super leicht Binärprogrammordnung Caching usw. Leider ist die Dokumentation etwas kurz. Der beste Weg zu lernen, wie es funktioniert, ist unterwegs durch die Tests.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top