6 ms·
That's a good point, although I'd argue that anything is less proprietary than something that literally runs only on a single vendor's hardware. Also, I feel t
by conistonwater 10y ago
That's a good point, although I'd argue that anything is less proprietary than something that literally runs only on a single vendor's hardware.
Also, I feel that proprietary shouldn't be used as a synonym to targeted at specific hardware, because being truly independent of the hardware might just be too much to ask for.
But it's interesting to consider why HIP doesn't support compiling to OpenCL. They don't seem to address this in the FAQs, but I think the reason might be that in addition to all the other problems, OpenCL is terrible as an intermediate language for compiling C++ to OpenCL. If it wasn't, then I don't know a good reason for why something like HIP wouldn't support it out of the box. I mean, compiling C++ to C basically requires a full-blown C++ compiler, which is a huge investment of resources, so I really wonder how the decision was made to base OpenCL on C99. Because of all this, I'm not sure how to understand HIP in relation to the rest of the ecosystem.
- slizard 10y ago> But it's interesting to consider why HIP doesn't support compiling to OpenCL. It's not HIP that will support compiling _to_ OpenCL, but rather the compiler toolchain will have an OpenCL compiler that will compile down to ISA [1], promised to be released for the ROCm stack in the coming weeks [2]. [1] https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-amd-linux/881414-amd-radeon-rx-480-on-linux?p=882080#post882080 https://www.phoronix.com/forums/forum/linux-graphics-x-org-d... [2] https://github.com/RadeonOpenCompute/ROCm/issues/30 https://github.com/RadeonOpenCompute/ROCm/issues/30
- pjmlp 10y ago> so I really wonder how the decision was made to base OpenCL on C99. The OpenGL group has always been hostile to anything other than C, it was required to see them being beaten by CUDA, C++AMP, DX, Metal to finally acknowledge C++ in OpenCL and Vulkan API definitions.