
Generic GPU Kernels in Julia - one-more-minute
http://mikeinnes.github.io/2017/08/24/cudanative.html
======
binarymax
I hadn't really looked at Julia before, so I started digging, and its really
nice! [https://julialang.org/](https://julialang.org/)

Given this addition of GPGPU required for contemporary compute applications,
Julia looks like a compelling alternative to other languages in the space.

------
nicwilson
> This creates a single kernel call, with no memory allocation or temporary
> arrays required. Pretty cool – and well out of the reach any other system I
> know of.

D with DCompute can do that as well.

------
ViralBShah
It may not be immediately obvious where the code for this package is. For
those who want to follow along:

[https://github.com/FluxML/CuArrays.jl](https://github.com/FluxML/CuArrays.jl)

------
arcanus
Generic GPU kernels... for just NVIDIA devices.

~~~
one-more-minute
To add to Keno's comment, a bunch of this stuff actually _can_ work with
OpenCL and OpenGL, and you can see it in action in GPUArrays.jl [1]. In
general, there's a bunch of work to make Julia as hardware-agnostic as
possible, but you gotta start somewhere.

[1]:
[https://github.com/JuliaGPU/GPUArrays.jl](https://github.com/JuliaGPU/GPUArrays.jl)

~~~
arcanus
Very cool!

My comment came off as more snarky than I intended. I just like choice. I'm an
HPC guy so I follow Julia with great interest.

------
dotdi
I cannot wait to throw away the C++11/CUDA mess I am dealing with right now.

However, this doesn't really seem ready for prime time, i.e. undocumented
stuff that is "in flux". Going to keep an eye on this.

~~~
autopoesis
Have you had a look at SYCL? I found a nice intro at [1]. Hopefully at some
point soon there's an implementation of it for nVidia GPUs, too; right now
I've only come across support for Intel and AMD OpenCL using Codeplay's
compiler [2]. But it seems quite promising!

[1] [https://blog.tartanllama.xyz/sycl/](https://blog.tartanllama.xyz/sycl/)
[2]
[https://www.codeplay.com/products/computesuite/computecpp](https://www.codeplay.com/products/computesuite/computecpp)

~~~
dotdi
I haven't seen SYCL until now, but it looks quite promising. Hopefully
Codeplay will keep their interest and investment into that piece of software.

Unfortunately, I don't have the time to wait for NVidia support. I have a
window of opportunity to rewrite some core things right now, but that window
will soon close.

