You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
4.3 KiB
153 lines
4.3 KiB
# Kernel Boot Params
|
|
|
|
## Updating Grub
|
|
|
|
To select the `AMDGPU` driver / module.
|
|
|
|
https://askubuntu.com/a/1314983
|
|
|
|
I'll add the following flags to the appropriate line in `/etc/default/grub`
|
|
|
|
```
|
|
GRUB_CMDLINE_LINUX_DEFAULT="radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1 amdgpu.modeset=1"
|
|
```
|
|
|
|
Then run
|
|
|
|
```
|
|
sudo update-grub
|
|
```
|
|
|
|
and reboot, selecting Ubuntu 20.04 per this branch of the debugging tree.
|
|
|
|
## Rebooting
|
|
|
|
After rebooting, `OpenCL` detects the GPU! But it hangs and does not return from the call
|
|
|
|
```
|
|
sudo clinfo -l
|
|
```
|
|
|
|
The call without the `sudo` yields just the CPU and `Number of devices: 0` as before.
|
|
|
|
Here's the glorious output:
|
|
|
|
```
|
|
$ sudo clinfo -l
|
|
[sudo] password for arcologos:
|
|
Number of platforms: 1
|
|
Platform Profile: FULL_PROFILE
|
|
Platform Version: OpenCL 2.1 AMD-APP (3558.0)
|
|
Platform Name: AMD Accelerated Parallel Processing
|
|
Platform Vendor: Advanced Micro Devices, Inc.
|
|
Platform Extensions: cl_khr_icd cl_amd_event_callback
|
|
|
|
|
|
Platform Name: AMD Accelerated Parallel Processing
|
|
Number of devices: 1
|
|
Device Type: CL_DEVICE_TYPE_GPU
|
|
Vendor ID: 1002h
|
|
Board name: AMD Radeon (TM) R9 390 Series
|
|
Device Topology: PCI[ B#3, D#0, F#0 ]
|
|
Max compute units: 40
|
|
Max work items dimensions: 3
|
|
Max work items[0]: 1024
|
|
Max work items[1]: 1024
|
|
Max work items[2]: 1024
|
|
Max work group size: 256
|
|
Preferred vector width char: 4
|
|
Preferred vector width short: 2
|
|
Preferred vector width int: 1
|
|
Preferred vector width long: 1
|
|
Preferred vector width float: 1
|
|
Preferred vector width double: 1
|
|
Native vector width char: 4
|
|
Native vector width short: 2
|
|
Native vector width int: 1
|
|
Native vector width long: 1
|
|
Native vector width float: 1
|
|
Native vector width double: 1
|
|
Max clock frequency: 1005Mhz
|
|
Address bits: 64
|
|
Max memory allocation: 7301444400
|
|
Image support: Yes
|
|
Max number of images read arguments: 128
|
|
Max number of images write arguments: 8
|
|
Max image 2D width: 16384
|
|
Max image 2D height: 16384
|
|
Max image 3D width: 16384
|
|
Max image 3D height: 16384
|
|
Max image 3D depth: 8192
|
|
Max samplers within kernel: 26545
|
|
Max size of kernel argument: 1024
|
|
Alignment (bits) of base address: 1024
|
|
Minimum alignment (bytes) for any datatype: 128
|
|
Single precision floating point capability
|
|
Denorms: No
|
|
Quiet NaNs: Yes
|
|
Round to nearest even: Yes
|
|
Round to zero: Yes
|
|
Round to +ve and infinity: Yes
|
|
IEEE754-2008 fused multiply-add: Yes
|
|
Cache type: Read/Write
|
|
Cache line size: 64
|
|
Cache size: 16384
|
|
Global memory size: 8589934592
|
|
Constant buffer size: 7301444400
|
|
Max number of constant args: 8
|
|
Local memory type: Scratchpad
|
|
Local memory size: 65536
|
|
Max pipe arguments: 16
|
|
Max pipe active reservations: 16
|
|
Max pipe packet size: 3006477104
|
|
Max global variable size: 7301444400
|
|
Max global variable preferred total size: 8589934592
|
|
Max read/write image args: 64
|
|
Max on device events: 1024
|
|
Queue on device max size: 8388608
|
|
Max on device queues: 1
|
|
Queue on device preferred size: 262144
|
|
SVM capabilities:
|
|
Coarse grain buffer: Yes
|
|
Fine grain buffer: Yes
|
|
Fine grain system: No
|
|
Atomics: No
|
|
Preferred platform atomic alignment: 0
|
|
Preferred global atomic alignment: 0
|
|
Preferred local atomic alignment: 0
|
|
```
|
|
|
|
## Add User to Video Group
|
|
|
|
Per this response
|
|
|
|
https://github.com/RadeonOpenCompute/ROCm/issues/482#issuecomment-410551357
|
|
|
|
I add the current user to the `video` group. I forget where I first read that this was necessary, but next also
|
|
is to try the `render` group.
|
|
|
|
```
|
|
sudo usermod -G video -a $USER
|
|
|
|
```
|
|
|
|
## Logging Out and Back In
|
|
|
|
The groupd `video` doesn't show up in the group list,
|
|
|
|
```
|
|
$ id
|
|
uid=1000(arcologos) gid=1000(arcologos) groups=1000(arcologos),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),133(lxd),134(sambashare)
|
|
```
|
|
|
|
but now we get an additional line at the end of `clinfo` before it hangs.
|
|
|
|
```
|
|
ERROR: clCreateKernel(-6)
|
|
```
|
|
|
|
Next is to try adding to the `render` group, and then installing
|
|
`libnuma-dev` as recommended in the above GitHub Issue thread comment.
|
|
|
|
## Add User to Render Group
|