diff --git a/debugging/002-Ubuntu-20_04/01-AMDGPU-23_10_3.md b/debugging/002-Ubuntu-20_04/01-AMDGPU-23_10_3.md index 0dbd485..f9e8eeb 100644 --- a/debugging/002-Ubuntu-20_04/01-AMDGPU-23_10_3.md +++ b/debugging/002-Ubuntu-20_04/01-AMDGPU-23_10_3.md @@ -48,6 +48,25 @@ $ sudo amdgpu-install --usecase=opencl --no-dkms --opencl=rocr Kernel modules: radeon, amdgpu ``` +## CL Info Not Detecting + +Both with and without `sudo` + +``` +$ 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: 0 +``` + ## Daemon Messages ``` @@ -65,3 +84,7 @@ $ sudo dmesg ## Rebooting To see if I can get the `amdgpu` kernel module to be used. + +## After Rebooting + +No, `clinfo` doesn't show the GPU available for computer and `lspci -k` shows `radeon` being used. diff --git a/debugging/002-Ubuntu-20_04/02-Kernel-Boot-Params.md b/debugging/002-Ubuntu-20_04/02-Kernel-Boot-Params.md new file mode 100644 index 0000000..5583e73 --- /dev/null +++ b/debugging/002-Ubuntu-20_04/02-Kernel-Boot-Params.md @@ -0,0 +1,152 @@ +# 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 diff --git a/debugging/002-Ubuntu-20_04/025-Tempaa b/debugging/002-Ubuntu-20_04/025-Tempaa new file mode 100644 index 0000000..db283f7 --- /dev/null +++ b/debugging/002-Ubuntu-20_04/025-Tempaa @@ -0,0 +1,133 @@ +# 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 + +``` + diff --git a/debugging/002-Ubuntu-20_04/01-========== b/debugging/002-Ubuntu-20_04/03-++++++++++ similarity index 100% rename from debugging/002-Ubuntu-20_04/01-========== rename to debugging/002-Ubuntu-20_04/03-++++++++++ diff --git a/debugging/002-Ubuntu-20_04/03-Video-Group.md b/debugging/002-Ubuntu-20_04/03-Video-Group.md new file mode 100644 index 0000000..615f508 --- /dev/null +++ b/debugging/002-Ubuntu-20_04/03-Video-Group.md @@ -0,0 +1,19 @@ +## 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