Valentin <https://github.com/vchuravy> and I are proud to announce a Julia wrapper for the Vulkan API <https://www.khronos.org/vulkan/>: VulkanCore.jl <https://github.com/JuliaGPU/VulkanCore.jl>
Vulkan can be called the successor of OpenGL, but it's a lot closer to the hardware, which is why it's not a direct replacement of OpenGL. In short, the main differences to OpenGL are: - lower driver overhead - better utilization of multi-core setups - shader/kernel are consumed in form of a new intermediate format, SPIR-V <https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.pdf>, which can be targeted by any language (yes, especially Julia+LLVM) - better low-level abstraction for GPU-CPU/GPU-GPU synchronization and memory management - GPGPU becomes more of a first class citizen - supports a large variety of hardware and platforms (NVIDIA, AMD, Intel, ARM, Android, Linux, Windows <https://en.wikipedia.org/wiki/Vulkan_(API)>...) One of the more exciting use cases of Vulkan is running Julia kernels over GPU-Arrays and then seamlessly visualizing the results. Enabling this will be a lot of work. Please stay tuned for further posts and watch the progress at Vulkan.jl <https://github.com/JuliaGPU/Vulkan.jl>, the (not yet finished) higher level abstraction over VulkanCore.jl. You can find some more information in a blog post <http://randomfantasies.com/2016/02/why-im-betting-on-vulkan-and-julia/> I recently wrote. Best, Simon
