Seite 1 von 1

Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Montag 4. Juni 2018, 23:03
von Conax
Nachdem ich die Pakete pyopencl sowie numpy installiert hatte wollte ich mal den Beispielcode aus diesem Tutorial ausführen(https://cyrille.rossant.net/pyopencl-on ... out-a-gpu/) allerdings treten bei mir seltsame Fehlermeldungen auf.

Bild

Anbei noch ein paar Infos zum System:
OS: Windows 7 64bit

Python Version: python-3.6.5-amd64

cffi-1.11.5-cp36-cp36m-win_amd64
Mako-1.0.7-py2.py3-none-any
numpy-1.14.3+mkl-cp36-cp36m-win_amd64
pycparser-2.17-py2.py3-none-any
pyopencl-2018.1.1+cl21-cp36-cp36m-win_amd64
pytools-2018.4-py2.py3-none-any

Intel SDK da APU von Intel: intel_sdk_for_opencl_2017_7.0.0.2567

Ich will einfach mal ein paar Beispielprogramme zum laufen bekommen und ein paar Einsteigertutorials zum Thema PyOpenCL durch arbeiten. Vielleicht hat ja der ein oder andere hier Erfahrung damit. Leider habe ich bisher nur Erfahrung in Java und wollte jetzt mal zu Python wechseln weil es hier eben diese Möglichkeit gibt durch PyOpenCL Anwendungen stark zu skalieren.

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Montag 4. Juni 2018, 23:28
von __deets__
Und hast du mal probiert, was dir in der Fehlermeldung geraten wird zu tun, damit du mehr Informationen bekommst?

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Montag 4. Juni 2018, 23:44
von Conax
__deets__ hat geschrieben: Montag 4. Juni 2018, 23:28 Und hast du mal probiert, was dir in der Fehlermeldung geraten wird zu tun, damit du mehr Informationen bekommst?
Bild

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Montag 4. Juni 2018, 23:50
von __deets__
Hm. Angeblich nur eine Warnung. Hast du andern Code der die nicht wirft? Der Python Fehler sieht schlecht aus weil er definitiv ein Bug ist. Ob der ein harmloser Folgefehler von „es gab ne Warnung, und ich mach eh Schluss“ ist, oder schlimmer, könnte man durch fixen der Warnung rausfinden.

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Montag 4. Juni 2018, 23:51
von __deets__
Und ein Nachtrag: wenn du kannst, bitte keine Screenshots. Das ist sehr schwer entzifferbar. Und wenig. Copy und Paste geht auch im Terminal. Musst du ggf einstellen, zusammen mit einer längeren History.

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Dienstag 5. Juni 2018, 23:00
von Conax
Ok danke schon mal fürs Feedback. Hab jetzt auch mal folgenden Code getestet:
https://documen.tician.de/pyopencl/

Bekomme aber trotzdem ne Compilerwarnung.

Code: Alles auswählen

C:\Users\Stefan_2\AppData\Local\Programs\Python\Python36>python demo.py
Choose platform:
[0] <pyopencl.Platform 'Intel(R) OpenCL' at 0x31705d0>
[1] <pyopencl.Platform 'Experimental OpenCL 2.1 CPU Only Platform' at 0x3abee80>

Choice [0]:0
Choose device(s):
[0] <pyopencl.Device 'Intel(R) HD Graphics 520' on 'Intel(R) OpenCL' at 0x33a1c2
0>
[1] <pyopencl.Device 'Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz' on 'Intel(R) Ope
nCL' at 0x328e870>
Choice, comma-separated [0]:0
Set the environment variable PYOPENCL_CTX='0:0' to avoid being asked again.
C:\Users\Stefan_2\AppData\Local\Programs\Python\Python36\lib\site-packages\pyope
ncl\cffi_cl.py:1517: CompilerWarning: Built kernel retrieved from cache. Origina
l from-source build had warnings:
Build on <pyopencl.Device 'Intel(R) HD Graphics 520' on 'Intel(R) OpenCL' at 0x3
3a1c20> succeeded, but said:

fcl build 1 succeeded.
bcl build succeeded.

  warn(text, CompilerWarning)
[0. 0. 0. ... 0. 0. 0.]
0.0

C:\Users\Stefan_2\AppData\Local\Programs\Python\Python36>

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Dienstag 5. Juni 2018, 23:10
von __deets__
Na gut, aber das is ja “nur” eine Warnung. Läuft das Ding dann?

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Mittwoch 6. Juni 2018, 23:16
von Conax
__deets__ hat geschrieben: Dienstag 5. Juni 2018, 23:10 Na gut, aber das is ja “nur” eine Warnung. Läuft das Ding dann?
Was oben steht ist der komplette Output und bin wie gesagt Python Beginner aber dachte eher da werden Zufallszahlen ausgegeben statt Nullen oder irgend eine Summe (ganz unten ist ja noch eine Berechnung). Auf der verlinkten Seite geht ja leider nicht hervor was das Programm ausgeben soll.

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Donnerstag 7. Juni 2018, 06:12
von ThomasL
also das Tutorial ist von September 2012, da hat sich einfach in der Zwischenzeit etliches geändert an PyOpenCL
es wird ja noch am Code gearbeitet, https://github.com/inducer/pyopencl

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Donnerstag 7. Juni 2018, 22:06
von Conax
Ich habe fast die Vermutung das ganze liegt am C Compiler. Es war nämlich so als ich mit pip besagte Pakete(siehe Liste oben) installiert hatte kam irgendwann einmal eine Fehlermeldung (irgend ein Kompilierungsfehler). Da ich nicht gleich die ganze Welt mit meinen Problemen belästigen wollte hatte ich erstmal gegoogelt und die Antwort war simpel "pyopencl benötigt einen C Compiler weil der Aufbau wohl in etwa so aussieht Python -> C Code -> OpenCL Code". Unter Linux hätte ich jetzt einfach das Paket "gcc" installiert unter Windows war es etwas umständlicher aber über den Umweg mit Cygwin klappte auch das (zumindest liesen sich dann die Pakete problemlos installieren.

https://github.com/inducer/pyopencl
Hier wird aber der Weg über "mingwpy" empfohlen. Dafür müsste ich erstmal Anaconda installieren und "mingwpy" wird auch nicht für Python Version 3.6 angeboten.

Irgendwie ist das alles bisher sehr unbefriedigend. Meine Entwicklungsumgebung sollte ohne Probleme laufen sonst hat das ganze keinen Zweck. Nutzen alle PyOpenCL Programmierer Linux und AMD Hardware? Kann ich mir fast nicht vorstellen denn gerade diese Flexibilität ist doch das Argument schlechthin gegenüber CUDA.

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Donnerstag 7. Juni 2018, 23:30
von __deets__
Windows ist das Problem. War es schon immer. Wenn du im MS Ökosystem unterwegs bist, ist alles gut. Java ist auch ok. Aber alles, was eine C Compiler braucht, saugt.

Es wird aber besser. Du kannst Visual Studio Express installieren, und dann hast du den VC. Das ist üblicherweise dem gefrikel mit MinGW etc überlegen.

Re: Anfänger braucht Hilfe mit PyOpenCL

Verfasst: Freitag 8. Juni 2018, 06:15
von ThomasL
Als ich anfing mich für Cython zu interessieren hatte ich ähnliche Probleme.
ich bin dann irgendwann hier gelandet https://wiki.python.org/moin/WindowsCompilers
und habe mal diesen Link gewählt https://www.visualstudio.com/downloads/ ... tudio-2017
Dort nicht eines der Visual Studio Pakete wählen, sondern etwas runter scrollen und unter Tools
Build Tools für Visual Studio 2017 https://www.visualstudio.com/de/thank-y ... ols&rel=15 downloaden.
Installieren und irgendwann kommt ein riesiges Auswahlmenü wo man die Komponenten auswählen kann.
Kann atm das nicht aufrufen, eventuell schau ich mal heute nachmittag was ich das gewählt habe.