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.
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.
Anfänger braucht Hilfe mit PyOpenCL
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.
Ok danke schon mal fürs Feedback. Hab jetzt auch mal folgenden Code getestet:
https://documen.tician.de/pyopencl/
Bekomme aber trotzdem ne Compilerwarnung.
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>
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.
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
es wird ja noch am Code gearbeitet, https://github.com/inducer/pyopencl
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
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.
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.
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.
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.
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.
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.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png