[libre-riscv-dev] [Bug 365] ROCM/Libre-SOC GPU Opcode interoperability

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue Jun 9 18:04:18 BST 2020


--- Comment #13 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #12)
> (In reply to Yehowshua from comment #11)
> > (In reply to Jacob Lifshay from comment #7)
> > > From what I understand, ROCm is only for OpenCL/CUDA-style compute, it
> > > doesn't implement the Vulkan or OpenGL APIs:
> > > https://github.com/RadeonOpenCompute/ROCm/issues/706
> > > https://github.com/RadeonOpenCompute/ROCm/issues/131
> > 
> > Hi Jacob, you are correct - however - Mesa has a Vulkan implementation that
> > can sit on top of ROCM.

If your talking about RADV, it does not require ROCM, it doesn't even require
LLVM (though may require some refactoring to build without LLVM), since it
works with two different compiler backends: ACO and LLVM.

AMDVLK also doesn't require ROCM, though does require LLVM.

> from 706:
> "ROCm is AMD's compute stack. If you want Vulkan support, you have two
> options. 1) the Mesa community RADV driver or 2) AMD's AMDVLK driver (which
> should be also part of their AMDGPU-PRO driver)."
> my interpretation of that is that he hasn't explicitly said "no" (which is
> where the confusion comes about), he's said, "if you want vulkan, you need
> RADV or AMDVLK" from which we *deduce* that there is no connection between
> the two.
> now, given that AMDGPU llvm support is now upstream, it *might* be the case
> that two out of three of these projects *happen* to use the exact same
> AMDGPU llvm compiler support.

All of RADV, AMDVLK, RadeonSI (Mesa Gallium driver), and ROCM can use LLVM as
their compiler backend.

> my understanding of AMDVLK - jacob will be able to clarify - is that it's
> a radically different approach, basically a sort-of effort to port and
> libre-license what was formerly a proprietary Win32 driver to linux, where
> the team working on it were isolated from what went into the upstream
> AMDGPU llvm.

>From what I understand, AMDVLK was/is the shared codebase between AMD's
proprietary Windows Vulkan driver and their open-source Linux Vulkan driver. On
Windows and previously on Linux, it uses their proprietary shader compiler
stack, which they have not open-sourced. AMDVLK was refactored to be able to
use LLVM before their initial Linux open-source release.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-riscv-dev mailing list