
Interactive GPU Programming, Part 2: Hello OpenCL - jellyapple
http://dragan.rocks/articles/18/Interactive-GPU-Programming-2-Hello-OpenCL
======
thebeardedone
ClojureCL looks quite awesome, it looks like it takes all of the boiler plate
out in comparison to C but I am very interested in the overhead. I tried
aparapi for my bachelor thesis and for larger problems it seemed to have quite
the overhead that the normal kernel did not have (several years ago). After
watching your talk on youtube [1], I saw you compared the GPU implementation
to the JVM and other CPU implementations in Clojure. Do you have any numbers
for the same kernel being called from a native C openCL application?

[1]
[https://www.youtube.com/watch?v=bEOOYbscyTs](https://www.youtube.com/watch?v=bEOOYbscyTs)

~~~
dragandj
For equivalent code, you will not experience any noticeable difference
compared to C. It is nothing like Aparapi.

------
dragandj
The source repository for the lib(s):

[https://github.com/uncomplicate/clojurecl](https://github.com/uncomplicate/clojurecl)

[https://github.com/uncomplicate](https://github.com/uncomplicate)

Part 1: Hello CUDA at [http://dragan.rocks/articles/18/Interactive-GPU-
Programming-...](http://dragan.rocks/articles/18/Interactive-GPU-
Programming-1-Hello-CUDA)

------
marmaduke
PyOpenCL provides a NumPy like array, usable from IPython or Jupyter,

[https://documen.tician.de/pyopencl/array.html](https://documen.tician.de/pyopencl/array.html)

It doesn't support the more complex NumPy APIs, but it's a good starting
point.

------
benbenolson
The title should state that it's all in Clojure...

------
0xfeba
This was the introduction to OpenCL and GPU programming that I was looking
for. Great read.

------
fg8qfg8fg8
Is it possible to share contexts with OpenGL for visualization ?

~~~
dragandj
Yes. OpenCL supports that. However, I am using it for computation and Machine
Learning algorithms, so I haven't tried that myself and can't give you
detailed pointers.

