Skip to content
Maksim Levental edited this page Sep 13, 2024 · 11 revisions

Getting started

amdgpu-dkms

Use mainline to switch between kernels.

The most recent kernel I've gotten to work as of 08/29/24 is 6.8.8.

Get amdgpu-install from here. Install it (which just adds repositories) and then

Install amdgpu-dkms following here but only do

sudo apt update && sudo install amdgpu-dkms

If it worked then you should be able to do

svcnod@sharkbox1:~$ cat /sys/devices/virtual/kfd/kfd/topology/nodes/0/properties 

and

svcnod@sharkbox1:~$ cat /sys/devices/virtual/kfd/kfd/topology/nodes/1/properties 

If you're having trouble installing because it doesn't compile/isn't compatible with some kernel version then just uninstall the headers for that kernel.

DON'T FORGET TO sudo usermod -a -G render,video $LOGNAME for whichever user needs to have access to the kfd.

If you see

rocr::core::Shared<T, rocr::core::PageAllocator<T> >::Shared(int, int) [with T = rocr::core::SharedQueue]: Assertion `allocate_ != nullptr && free_ != nullptr && "Shared object allocator is not set"' failed.

then you either forgot to do the usermod above or it hasn't stuck yet - just reboot.

ROCT-Thunk-Interface

The right branch of ROCT-Thunk-Interface is rocm-6.2.x, i.e., https://github.com/ROCm/ROCT-Thunk-Interface/tree/rocm-6.2.x .

ROCR-Runtime

https://github.com/nod-ai/ROCR-Runtime

Clang

To build from source you're going to need clang-19 (well currently that's what I've patched/hacked in). Easiest way to get it is using https://apt.llvm.org:

wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 19
sudo apt install libclang-19-dev libllvmlibc-19-dev

The above might not be enough (just install stuff until it works and then come back here and tell us).

Clone this wiki locally