Originally posted by PuckPoltergeist
View Post
Announcement
Collapse
No announcement yet.
AMD Publishes Video To Explain The Radeon Open Compute Stack (ROCm)
Collapse
X
-
-
While CLover does not have the same scope (as a project) as ROCm, i agree that it should have been the ideal solution. I get that Bridgman says (and in some ways he is right) that since only AMD contributed to CLover, they saw no point and proceeded to do their own thing, but still in my opinion they should have at least kept CLover as their official open OpenCL implemantation and just let ROCm implement the other stuff around it. Right now there are 2 OpenCL open implemenations for AMD, both of them with issues. And one binary OpenCL implemantation that is not exactly perfect either. If 3rd party contributors manage to improve Clover in the near future (which might be the case seeing some companies pledging to contribute to it) then we might see the paradox of Clover being a better opensource OpenCL implementation on AMD cards than ROCm, without AMD's help....
In an ideal world, Intel would have adopted CLover as well, since it is pretty much Gallium Compute, and they have already adopted Gallium for OpenGL, so why not OpenCL? In an even more ideal world, Nvidia would have adopted Nouveau as well, so all 3 main vendors would contribute to CLover, making it the defacto standard implementation for OpenCL and ensuring perfect compatibility for everybody (since all OpenCL apps would ensure they work on Clover). Sadly we are not living in an ideal world.
- Likes 4
Comment
-
Originally posted by illwieckz View PostThe code to grok OpenCL does not share code with the one groking OpenGL. You can't assume you can accelerate Darktable with OpenCL because your OpenGL game is rendered efficiently.Originally posted by PuckPoltergeist View PostAs long as you're using ROCm and not clover. The latter is mesa, but it's even in a much worse state than ROCm (in terms of features). But hey, at least it works together with the mesa graphics driver. I'm hoping, the OpenCL-efforts for nouveau will bring benefits for amdgpu too.
Code:$ clinfo | sed -e 's/^ *//;s/ \+/\t/g' | grep 'Name' | sort -u | column -t -s "$(printf '\t')" Device Name AMD Radeon (TM) R9 390 Series (HAWAII, DRM 3.35.0, 5.4.0-33-generic, LLVM 9.0.1) ICD loader Name OpenCL ICD Loader Platform Name Clover
Code:$ darktable-cltest | egrep 'found|discarding|no suitable|FINALLY' 0.035284 [opencl_init] found opencl runtime library 'libOpenCL.so.1' 0.035303 [opencl_init] opencl library 'libOpenCL.so.1' found on your system and loaded 0.107821 [opencl_init] found 1 platform 0.107840 [opencl_init] found 1 device 0.107885 [opencl_init] discarding device 0 `AMD Radeon (TM) R9 390 Series (HAWAII, DRM 3.35.0, 5.4.0-33-generic, LLVM 9.0.1)' - The OpenCL driver doesn't provide image support. See also 'clinfo' output. 0.107888 [opencl_init] no suitable devices found. 0.107890 [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
Last edited by illwieckz; 12 June 2020, 07:03 PM.
Comment
-
What the community needed was a project that supports every AMD card, GCN 1.0 and later, for all users.
A single unified build system ... bam installed for everyone ! All distros .... Sounds crazy to some, but that's the way most all gnu/linux open source projects are.
The longer it takes to see this the harder it'll be to implement as more and more cards/archs get released.
Sadly, i'm not hopefull. Although something is better than nothing.
Atleast kfd is native in the kernel for most everyone/everything now. Just sitting there waiting to be used someday.Last edited by Soul_keeper; 12 June 2020, 06:34 PM.
- Likes 1
Comment
-
Originally posted by TemplarGR View PostWhile CLover does not have the same scope (as a project) as ROCm, i agree that it should have been the ideal solution. I get that Bridgman says (and in some ways he is right) that since only AMD contributed to CLover, they saw no point and proceeded to do their own thing, but still in my opinion they should have at least kept CLover as their official open OpenCL implemantation and just let ROCm implement the other stuff around it. Right now there are 2 OpenCL open implemenations for AMD, both of them with issues. And one binary OpenCL implemantation that is not exactly perfect either. If 3rd party contributors manage to improve Clover in the near future (which might be the case seeing some companies pledging to contribute to it) then we might see the paradox of Clover being a better opensource OpenCL implementation on AMD cards than ROCm, without AMD's help....
In an ideal world, Intel would have adopted CLover as well, since it is pretty much Gallium Compute, and they have already adopted Gallium for OpenGL, so why not OpenCL? In an even more ideal world, Nvidia would have adopted Nouveau as well, so all 3 main vendors would contribute to CLover, making it the defacto standard implementation for OpenCL and ensuring perfect compatibility for everybody (since all OpenCL apps would ensure they work on Clover). Sadly we are not living in an ideal world.
- Likes 1
Comment
-
Originally posted by vegabook View Post
Probably only way efficiently to use cross-platform compute anytime soon will be WebGPU and its "native" equivalent wgpu. I'm not bothering with ROCm at all. It's an utter mess.
Comment
-
Originally posted by vegabook View Post
Vulkan doesn't do compute (for now). And unlike Vulkan, or DX12, webgpu is supported by everyone including Apple, and therefore will be standard in browsers. It's the first api that we're likely to see implemented by everyone.
For me OpenCL for desktop usage as failed big. NVIDIA expose only opencl 1.2, I think, because the care only CUDA.
With the last release of Radeon Rays (a raytracing library) even AMD stop using opencl and start using Vulkan.
Software like Blender and Luxrender better start converting their opencl backend to SPIRV backend running on Vulkan. So they can support NVIDIA and AMD with a single implementation supporting multiple gpus even multiple vendors configuration without a problem thanks to Vulkan.Last edited by sp82; 13 June 2020, 04:38 AM.
Comment
-
Originally posted by sp82 View PostWe can't compare WebGPU with ROCm, WebGPU as nothing to do with raw computing on desktop, it's for the web browsers. ROCm is the opposite, is for datacenter and HPC applications also not for desktop. The problem is that AMD can't care less to make rocm friendly on desktop and notebooks particularly. So most consumers and professional users on AMD desktop hardware on Linux have poor experience with this OpenCL implementation.
For me OpenCL for desktop usage as failed big. NVIDIA expose only opencl 1.2, I think, because the care only CUDA.
With the last release of Radeon Rays (a raytracing library) even AMD stop using opencl and start using Vulkan.
Software like Blender and Luxrender better start converting their opencl backend to SPIRV backend running on Vulkan. So they can support NVIDIA and AMD with a single implementation supporting multiple gpus even multiple vendors configuration without a problem thanks to Vulkan.
- Likes 1
Comment
-
Originally posted by PuckPoltergeist View Post
Are you using it together with mesa? If yes, please tell us, how are you doing this. Cause, llvm can't be mixed in different versions. And ROCm is using some dev-version of llvm (llvm-11 at the moment) whereas mesa works with the latest released version of llvm (llvm-10 or llvm-9).
Comment
Comment