OpenCL
-
warum gibt es auf der Khronos Seite keine lib oder header ? Ich will hersteller unabhängig sein. Geh ich auf die Nvidia Seite kommt schon wieder dieses Cuda.
bzw die header files sind einzeln downloadbar auf der website http://www.khronos.org/registry/cl/ statt sie in einen Ordner zu packen.
Die lib file find ich aber immer noch nicht
-
OpenCL ist ein Standard und keine Bibliothek. Von Khronos eine lib zu wollen ist in etwa so sinnvoll wie einen C++ Compiler von der ISO zu wollen...
-
Aber die OpenCl lib von Nvidia, Amd und Intel muss doch genau dieselbe sein, sonst wäre sie doch nicht portabel. Wieso also nicht die lib zentral bei khronos hinterlegen.
-
blurry333 schrieb:
Aber die OpenCl lib von Nvidia, Amd und Intel muss doch genau dieselbe sein, sonst wäre sie doch nicht portabel.
Die lib ist auch nicht portabel...
-
Es gibt einen OpenCl C++ wrapper. Wieso denn das ?? Normales C läuft doch auch unter C++ ???
-
Komfort ???
-
Wieso gibt es eigentlich C++ ??????????????
-
'C' allein' klang mit der Zeit fad ???
-
_matze schrieb:
Wieso gibt es eigentlich C++ ??????????????
Weil man nicht wußte, wo man die zwei '+' die man übrig hatte, anfügen sollte, also hat man das C genommen und sie da angefügt.
-
Jede C Datei läuft auch als C++ Datei. Eine OpenCl Datei hat wohl normalerweise ein .c als Endung ??
Woher weiß eigentlich die CPU dass der Code der jetzt kommt von der GPU ausgeführt werden muss ?
-
blurry333 schrieb:
Jede C Datei läuft auch als C++ Datei. Eine OpenCl Datei hat wohl normalerweise ein .c als Endung ??
Manche meiner C++ Dateien sind schon ein halbes Jahrzehnt als und können immer noch nicht laufen. Sind wohl spätentwickler.
Hau ab und nimm' den andern Troll direkt mit.
-
kennt jemand ein sehr gutes OpenCl programming tutorial ??
-
Und noch eine Frage.
Der opencl teil im Code muss mit einem anderen Compiler als der Rest compiliert werden. Wie soll das funktionieren wenn ich im Visual Studio kompiliere ?
-
die kernels werden der opencl api uebergeben, zur laufzeit, was sollte daran nicht funktionieren? bzw wie sollte es sonst funktionieren bei heterogenen systemen, du weisst doch meist nicht welche ISA die compute prozessoren haben, kann sein dass dein OpenCl source in SSE2, SSE4.1, PTX assembler oder direkt in intel's oder AMD's GPU ISA uebersetzt wird und vielleicht hat irgendjemand mal eine ImgTec oder Qualcomm beschleunigerkarte in seinem PC die es jetzt noch nicht gibt. da ist es doch gut und billig den source der API zu geben, denn jede compilieren in eine zwischensprache bedeutet informantionsverlust und waere (bis auf fuer obfuscation) nicht sonderlich hilfreich.
-
Ja ich ruf die Funktionen der API auf. Ich ruf die library auf und da wird die CPU schnell merken dass sie den Code nicht ausführen kann. Dann gibt sie ihn an die GPU weiter oder ?
-
Wenn ein Prozessor "merkt, daß er Code nicht ausführen kann" gibt's ne Invalid Opcode Exception und sonst nix.
In der Introduction to OpenCL ist doch eh alles so schön aufgemalt!?
-
Wie wäre es, wenn ihr mal aufhören würdet, dem Obertroll zu antworten?
-
ich verwende in meiner main.c das Schlüsselwort __kernel vor einer funktion . Obwohl ich die cl.h einbinde erkennt er dieses nicht. Woran liegt das ?
-
blurry333 schrieb:
ich verwende in meiner main.c das Schlüsselwort __kernel vor einer funktion . Obwohl ich die cl.h einbinde erkennt er dieses nicht. Woran liegt das ?
Vielleicht hat er auf der Silvesterparty zuviel gehabt.
Du schaust dir jetzt an wie OpenCL funktioniert! Und zwar sofort! Und stocherst nicht so unsinnig rum! LOS
-
Trotzdem will ich wissen warum das Schlüsselwort __kernel nicht erkannt wird. Die cl.h ist eingebunden !