[RESOLVED] AMD iGPU R7 7840u

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.