4 ms·
> This removed OpenCL™ support for rendering on AMD GPUs for technical and performance reasons. So, that's it, OpenCL is out the door, no more standardized way
by ur-whale 5y ago
> This removed OpenCL™ support for rendering on AMD GPUs for technical and performance reasons.
So, that's it, OpenCL is out the door, no more standardized way to write GPU compute code, I guess.
- psalz 5y agoHave you heard of SYCL[1]? :) [1]: https://www.khronos.org/sycl/ https://www.khronos.org/sycl/
- Const-me 5y agoIn my experience, on Windows, DirectCompute shaders work OK on AMD too. For optimal performance they require optimizations for specific GPUs, though.
- chmod775 5y ago> Luckily, AMD has an open-source solution for developers just for that. HIP (Heterogeneous-computing Interface for Portability) is a C++ runtime API and kernel language that allows developers to create portable applications for AMD and NVIDIA® GPUs from a single source code. This allows the Blender Cycles developers to write one set of rendering kernels and run them across multiple devices. The other advantage is that the tools with HIP allow easy migration from existing CUDA® code to something more generic.
- ur-whale 5y agoYeah, I've read that. But this is not an open standard, it's just a hack, and it is under the control of a vendor. Worse, it is nothing but a thin layer above an even more proprietary layer.
- chmod775 5y ago> But this is not an open standard, it's just a hack, and it is under the control of a vendor. It's under a permissive license (MIT). What makes you say it is "just a hack"? What makes it a hack? > Worse, it is nothing but a thin layer above an even more proprietary layer. The same is true for OpenCL (layer above a proprietary layer) and pretty much any API interfacing with proprietary hardware/drivers. Also it's not even proprietary software in the first place, even if you're trying to make it sound that way.
- floatboth 5y agoVulkan! Compute! Shaders! I hate compute-specific APIs so much. Use Vulkan!
- gspr 5y agoCould you provide some pointers to where someone who's moderately familar with OpenCL should start looking to learn to do compute with Vulkan? I find the documentation quite fractured.
- floatboth 5y agoDon't try to use it directly, you need a higher level library. https://github.com/KomputeProject/kompute https://github.com/KomputeProject/kompute seems like what's taking off. There are also smaller ones like https://github.com/Glavnokoman/vuh https://github.com/Glavnokoman/vuh etc.
- gspr 5y agoDoes this mean that OpenCL is being phased out without any serious Vulkan-based replacements being actively worked on?
- ur-whale 5y ago> I find the documentation quite fractured. This has been my experience as well: the few Vulkan Hello, World I've seen all have a mile and half boilerplate code before you can open a window and draw an effing pixel in it. Also, from an admittedly quick glance at Vulkan ... I haven't really seen specs for a full-fledged CUDA / OpenCL modern replacement. Did I miss something?
- gspr 5y agoIt's even worse if you don't wanna draw a pixel, but rather want the compute world's equivalent of hello world (i.e. inner product)!