2015-01-15 10 views
15

Ich versuche Python mit Theano zu verwenden, um etwas Code mit OpenCL zu beschleunigen. Ich installierte libgpuarray und pygpu wie angewiesen (ich denke), und erhielt keine Fehler. Die Installation hat die installierte OpenCL-Runtime erkannt.Verwenden von Python + Theano mit OpenCL in einer AMD GPU

Ich kann das Theano-Beispiel für OpenCL einfach nicht ausführen, hauptsächlich weil ich nicht weiß, wie ich meine GPU spezifizieren soll. Meine GPU ist eine Radeon HD 5340/5450/5470, nach inxi. Der gesamte Code in der Theano-Dokumentation verwendet device=cuda0 und die einzige Stelle, wo OpenCL erwähnt wird, heißt device=openclN, wobei N eine Zahl ist.

Ich versuchte device=opencl0 und bekam einen pygpu Fehler, der besagt, dass das korrekte Format opencl<int>:<int> ist. Ich habe seitdem eine beliebige Anzahl von Zahlenkombinationen (opencl0:0 und so) und immer eine GpuArrayException: Unknown error ausprobiert.

Mein System ist Ubuntu 14.04 x64 und meine Hardware ist ein Toshiba Satellite, 15" . Ich Theano mit pip installiert und später installiert libgpuarray folgen Sie den Anweisungen auf ihrer Website.

Was mache ich falsch?

+0

Was ist das Betriebssystem und Compiler Sie verwenden? –

+0

Ubuntu 14.04 und für Compiler, ich weiß nicht, ich verwende direkt 'Theano' aus Python. Ich nehme an, es sollte den richtigen Compiler auswählen? –

+0

Wie wurde Theano zusammengestellt? Wie wurde PyGPU kompiliert? Wie haben Sie sie auf Ihrem Rechner installiert? –

Antwort

9

opencl0: 0 ist korrekt.Könnten Sie bestätigen, dass pyopencl funktioniert? Möglicherweise haben Sie ein Problem mit Ihrem opencl (oder Treiber/cl-Compiler).

Allerdings denke ich, dass Theano im Moment nicht ganz mit OpenCL funktioniert. Der aktuelle Stand ist teilweise Unterstützung , genug für "Hallo Welt", aber nicht genug um irgendeinen signifikanten Code auszuführen.

See:

https://github.com/Theano/Theano/issues/2189

https://github.com/Theano/Theano/issues/1471

https://github.com/Theano/Theano/issues/2190

https://github.com/Theano/Theano/pull/1732

Um es zusammenzufassen, nein, die meisten Sachen (einschließlich Elemwise nicht portiert wird, zum Beispiel, die a gemeinsame op). Ich würde Theano gerne auf OpenCL sehen. Das wäre eine großartige Sache für AMD. Bald :)

+3

Wenn das der Fall ist, dann hat es keinen Sinn weiter zu versuchen, bis mehr sutff portiert wurde. Danke für den Tipp. –

+2

Die neueste Version von Theano und Pyopencl funktioniert gut mit meiner AMD Radeon HD 7750 Karten mit dem neuesten Katalysator, libgpuarray in Ubuntu 14.04 64-Bit installiert. – hobs

+2

Versuchte Theano + OpenCL und entdeckte, dass Lasagne zu diesem Zeitpunkt nicht mit OpenCL kooperieren wird. – HeikoG

Verwandte Themen