Hi all,
I’ve recently noticed that when running clinfo, hashcat, or any other application that leverages opencl I get statistics coming back indicating that the Radeon 780M iGPU only has 6 cores; however, I believe it should have twice that amount. Is there further config required for the iGPU? I am not sure why the wrong number of cores is being reported?
Can anyone using Linux and the same CPU please confirm?
Thanks heaps.
I’m not familiar with any opencl tools. What command (with options pls) should I run to get comparable information?
By the way every couple of RDNA2/3 “compute unit” are part of a “workgroup”. Sometimes online you find specs for the 7840U or the 6800U that list them as having 6 WGPs instead of 12 CUs. Moreover you can see that every RDNA2/3 gpu (even discete one) has an even number of CUs. Don’t know if any of this matters in this discussion.
1 Like
You can run “clinfo | grep core” that should have the core count in the output somewhere.
Otherwise, if you install hashcat, you can run “hashcat -I”. That will also tell you.
You will need to have the rocm-opencl-runtime package installed to use opencl if you don’t already.
Are you able to send through a link with documentation that shows the difference workgroup core count? All the official AMD documentation online doesn’t deviate from having 12 cores in the iGPU
Not sure where I first or last read about WGPs. But I found this quote from wikipedia’s page on RDNA:
- RDNA introduced the “workgroup processor” (“WGP”). The WGP replaces the compute unit as the basic unit of shader computation hardware/computing. One WGP encompasses 2 CUs. …
If you are interested in more technical information maybe you can find some on chipsandcheese. I cannot find the article where they introduce the RDNA architecture but here they talk about CUs and WGPs: https://chipsandcheese.com/2023/02/19/amds-rdna-2-shooting-for-the-top/.
The WGPs in AMD’s RDNA architecture can operate in both WGP mode, and CU mode. In WGP mode, the 128 KB LDS works as a single unified block of memory. All four SIMDs within the WGP can access the entire 128 KB. In CU mode, the LDS is split into two 64 KB halves, each associated with a pair of SIMDs.
I didn’t have it. But installing rocm 6.0.2 has been pretty easy.
Here my sudo hashcat -I
output for my 7640U (which should have 8CUs/4WGPs):
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: The pocl project
Name....: Portable Computing Language
Version.: OpenCL 3.0 PoCL 4.0+debian Linux, None+Asserts, RELOC, SPIR, LLVM 15.0.7, SLEEF, DISTRO, POCL_DEBUG
Backend Device ID #1
Type...........: CPU
Vendor.ID......: 1
Vendor.........: AuthenticAMD
Name...........: cpu-skylake-avx512-AMD Ryzen 5 7640U w/ Radeon 760M Graphics
Version........: OpenCL 3.0 PoCL HSTR: cpu-x86_64-pc-linux-gnu-skylake-avx512
Processor(s)...: 12
Clock..........: 4971
Memory.Total...: 25690 MB (limited to 4096 MB allocatable in one block)
Memory.Free....: 12813 MB
Local.Memory...: 1024 KB
OpenCL.Version.: OpenCL C 1.2 PoCL
Driver.Version.: 4.0+debian
OpenCL Platform ID #2
Vendor..: Advanced Micro Devices, Inc.
Name....: AMD Accelerated Parallel Processing
Version.: OpenCL 2.1 AMD-APP (3602.0)
Backend Device ID #2
Type...........: GPU
Vendor.ID......: 1
Vendor.........: Advanced Micro Devices, Inc.
Name...........: AMD Radeon Graphics
Version........: OpenCL 2.0
Processor(s)...: 4
Clock..........: 2599
Memory.Total...: 4096 MB (limited to 3481 MB allocatable in one block)
Memory.Free....: 3968 MB
Local.Memory...: 64 KB
OpenCL.Version.: OpenCL C 2.0
Driver.Version.: 3602.0 (HSA1.1,LC)
PCI.Addr.BDF...: c1:00.0
So 4 processors.
But I also got the following:
$ sudo /opt/rocm-6.0.2/bin/rocminfo | egrep "(Vendor Name|Compute Unit)"
Vendor Name: CPU
Compute Unit: 12
Vendor Name: AMD
Compute Unit: 8
1 Like
Thanks so much for your detailed response. Everything makes sense now and I understand now that Hashcat and clinfo must be referencing workgroup count and not the actual CU count
2 Likes
Hey @Plastic_Knight
I’m currently setting up my ubuntu framework 13 and came across this post and wanted to ask you how you get hashcat running on the AMD 13?
I can’t seem to figure it out.
Howdy,
I’m assuming that you have hashcat already installed? You can check to see if it is detecting your hardware by running hashcat -I
If this doesn’t work, the main reason is that you probably don’t have rocm-opencl-runtime installed. You’ll need to install this for OpenCL support.
If that still isn’t working, install clinfo and see if that picks up your iGPU. At least that will tell you if it’s hashcat or something else causing the issue.
Let me know if that still doesn’t work.
Yeah hashcat is install from source.
Iv tried to install rocm-opencl-runtime twice and broke my Ubuntu install both times lol.
Can’t seem to find a straight forward install to follow or maybe I’m getting it wrong.
Could you link me to the install process you did to get my CPU and GPU working?
Hmmm… well that’s not too good.
Unfortunately, I use Arch, not Ubuntu, so my installation process is going to be different. I literally go sudo pacman -S rocm-opencl-runtime and I’m all good to go. That’s obviously not going to work for Ubuntu though.
What exactly have you tried to install and what is the output you get after running clinfo?
What I did on Ubuntu 23.10 was following this guide from AMD up to the apt install
part: I don’t want amdgpu-dkms
and I did not install full rocm
but only the packages needed.
AMD gpu drivers never supports latest kernel, I’m using Debian testing, amdgpu-dkms never compiles correctly for recent 5 years. this is so annoying. I need newer kernels to support new HW and SW better. but their gpu drivers only support more than 1 year old “LTS” kernels.